aboutsummaryrefslogtreecommitdiff
path: root/go/weed
diff options
context:
space:
mode:
authortnextday <fw2k4@163.com>2015-12-02 16:35:16 +0800
committertnextday <fw2k4@163.com>2015-12-02 16:35:16 +0800
commitd0e2475ecea97ac96ddbdc76f98a5de32e4a68ad (patch)
tree1975074bc84c01a5179edc517ffd46b3e40c0a6e /go/weed
parent2c0a7fe75e1e3c1a0f04ab22414d3054a3095078 (diff)
downloadseaweedfs-d0e2475ecea97ac96ddbdc76f98a5de32e4a68ad.tar.xz
seaweedfs-d0e2475ecea97ac96ddbdc76f98a5de32e4a68ad.zip
`FilePart.Upload` use base name instead of full path
fix chunked file download error
Diffstat (limited to 'go/weed')
-rw-r--r--go/weed/weed_server/volume_server_handlers_read.go16
1 files changed, 10 insertions, 6 deletions
diff --git a/go/weed/weed_server/volume_server_handlers_read.go b/go/weed/weed_server/volume_server_handlers_read.go
index d2375099f..6a7944d25 100644
--- a/go/weed/weed_server/volume_server_handlers_read.go
+++ b/go/weed/weed_server/volume_server_handlers_read.go
@@ -225,18 +225,22 @@ func (vs *VolumeServer) tryHandleChunkedFile(n *storage.Needle, fileName string,
if !n.IsChunkedManifest() {
return false
}
- processed = true
raw, _ := strconv.ParseBool(r.FormValue("raw"))
if raw {
- w.Header().Set("Content-Type", "application/json")
- w.Header().Set("Content-Length", strconv.Itoa(len(n.Data)))
- if _, e := w.Write(n.Data); e != nil {
- glog.V(0).Infoln("response write error:", e)
+ return false
+ }
+ processed = true
+ if n.IsGzipped(){
+ var err error
+ if n.Data, err = storage.UnGzipData(n.Data); err != nil {
+ glog.V(0).Infoln("ungzip data error:", err, r.URL.Path)
+ return false
}
- return true
}
+
chunkManifest, e := operation.LoadChunkedManifest(n.Data)
if e != nil {
+ glog.V(0).Infoln("load chunked manifest error:", e)
return false
}
ext := ""