aboutsummaryrefslogtreecommitdiff
path: root/go/operation
diff options
context:
space:
mode:
Diffstat (limited to 'go/operation')
-rw-r--r--go/operation/chunked_file.go8
-rw-r--r--go/operation/submit.go7
2 files changed, 8 insertions, 7 deletions
diff --git a/go/operation/chunked_file.go b/go/operation/chunked_file.go
index 0492d39a7..0e455e93a 100644
--- a/go/operation/chunked_file.go
+++ b/go/operation/chunked_file.go
@@ -22,9 +22,9 @@ var (
)
type ChunkInfo struct {
- Fid string `json:"fid,omitempty"`
- Offset int64 `json:"offset,omitempty"`
- Size int64 `json:"size,omitempty"`
+ Fid string `json:"fid"`
+ Offset int64 `json:"offset"`
+ Size int64 `json:"size"`
}
type ChunkList []*ChunkInfo
@@ -52,7 +52,7 @@ func (s ChunkList) Swap(i, j int) { s[i], s[j] = s[j], s[i] }
func LoadChunkedManifest(buffer []byte) (*ChunkManifest, error) {
cm := ChunkManifest{}
- if e := json.Unmarshal(buffer, cm); e != nil {
+ if e := json.Unmarshal(buffer, &cm); e != nil {
return nil, e
}
sort.Sort(cm.Chunks)
diff --git a/go/operation/submit.go b/go/operation/submit.go
index 8af36c722..65f20cf55 100644
--- a/go/operation/submit.go
+++ b/go/operation/submit.go
@@ -116,11 +116,12 @@ func (fi FilePart) Upload(maxMB int, master string, secret security.Secret) (ret
if closer, ok := fi.Reader.(io.Closer); ok {
defer closer.Close()
}
+ baseName := path.Base(fi.FileName)
if maxMB > 0 && fi.FileSize > int64(maxMB*1024*1024) {
chunkSize := int64(maxMB * 1024 * 1024)
chunks := fi.FileSize/chunkSize + 1
cm := ChunkManifest{
- Name: fi.FileName,
+ Name: baseName,
Size: fi.FileSize,
Mime: fi.MimeType,
Chunks: make([]*ChunkInfo, 0, chunks),
@@ -128,7 +129,7 @@ func (fi FilePart) Upload(maxMB int, master string, secret security.Secret) (ret
for i := int64(0); i < chunks; i++ {
id, count, e := upload_one_chunk(
- fi.FileName+"-"+strconv.FormatInt(i+1, 10),
+ baseName+"-"+strconv.FormatInt(i+1, 10),
io.LimitReader(fi.Reader, chunkSize),
master, fi.Replication, fi.Collection, fi.Ttl,
jwt)
@@ -152,7 +153,7 @@ func (fi FilePart) Upload(maxMB int, master string, secret security.Secret) (ret
cm.DeleteChunks(master)
}
} else {
- ret, e := Upload(fileUrl, fi.FileName, fi.Reader, fi.IsGzipped, fi.MimeType, jwt)
+ ret, e := Upload(fileUrl, baseName, fi.Reader, fi.IsGzipped, fi.MimeType, jwt)
if e != nil {
return 0, e
}