diff options
| author | Chris Lu <chris.lu@gmail.com> | 2013-01-02 13:40:00 -0800 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2013-01-02 13:40:00 -0800 |
| commit | c35fe9d6318ed9b38e7d05c9e1c0de5e2f06f54c (patch) | |
| tree | 3a2c7adf83f406b9d0583d2f136884cb3a7cf0cf | |
| parent | 018f0b73bea9c161a65e73190c8f53a7f0c00e77 (diff) | |
| download | seaweedfs-c35fe9d6318ed9b38e7d05c9e1c0de5e2f06f54c.tar.xz seaweedfs-c35fe9d6318ed9b38e7d05c9e1c0de5e2f06f54c.zip | |
escape file name when there is a quote inside
| -rw-r--r-- | weed-fs/src/cmd/weed/volume.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/weed-fs/src/cmd/weed/volume.go b/weed-fs/src/cmd/weed/volume.go index 4d3737dbd..59a5623ea 100644 --- a/weed-fs/src/cmd/weed/volume.go +++ b/weed-fs/src/cmd/weed/volume.go @@ -42,6 +42,8 @@ var ( store *storage.Store ) +var fileNameEscaper = strings.NewReplacer("\\","\\\\","\"","\\\"") + func statusHandler(w http.ResponseWriter, r *http.Request) { m := make(map[string]interface{}) m["Version"] = VERSION @@ -147,7 +149,7 @@ func GetHandler(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", mtype) } if n.NameSize > 0 { - w.Header().Set("Content-Disposition", "filename="+string(n.Name)) + w.Header().Set("Content-Disposition", "filename="+fileNameEscaper.Replace(string(n.Name))) } if ext != ".gz" { if n.IsGzipped() { |
