aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2014-05-12 22:59:00 -0700
committerChris Lu <chris.lu@gmail.com>2014-05-12 22:59:00 -0700
commit68ceea3f8d788cfab912491af7eb7384701457a6 (patch)
treebeaeab94c0d6bec199aaf148a0ab40844f93e71a
parent328aa48c6a666e15033f34e072e40a6ba41c6d36 (diff)
downloadseaweedfs-68ceea3f8d788cfab912491af7eb7384701457a6.tar.xz
seaweedfs-68ceea3f8d788cfab912491af7eb7384701457a6.zip
support file names with a comma inside.
-rw-r--r--go/util/http_util.go1
-rw-r--r--go/weed/weed_server/volume_server_handlers.go2
2 files changed, 2 insertions, 1 deletions
diff --git a/go/util/http_util.go b/go/util/http_util.go
index 6562e964c..5d46cb9b3 100644
--- a/go/util/http_util.go
+++ b/go/util/http_util.go
@@ -100,6 +100,7 @@ func DownloadUrl(fileUrl string) (filename string, content []byte, e error) {
glog.V(4).Info("Content-Disposition: ", contentDisposition[0])
if strings.HasPrefix(contentDisposition[0], "filename=") {
filename = contentDisposition[0][len("filename="):]
+ filename = strings.Trim(filename, "\"")
}
} else {
glog.V(4).Info("No Content-Disposition!")
diff --git a/go/weed/weed_server/volume_server_handlers.go b/go/weed/weed_server/volume_server_handlers.go
index 76b760d46..333a40377 100644
--- a/go/weed/weed_server/volume_server_handlers.go
+++ b/go/weed/weed_server/volume_server_handlers.go
@@ -111,7 +111,7 @@ func (vs *VolumeServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request,
w.Header().Set("Content-Type", mtype)
}
if filename != "" {
- w.Header().Set("Content-Disposition", "filename="+fileNameEscaper.Replace(filename))
+ w.Header().Set("Content-Disposition", "filename=\""+fileNameEscaper.Replace(filename)+"\"")
}
if ext != ".gz" {
if n.IsGzipped() {