diff options
| author | Alexander Kovalenko <alexanderk23@gmail.com> | 2016-05-12 13:11:27 +0300 |
|---|---|---|
| committer | Alexander Kovalenko <alexanderk23@gmail.com> | 2016-05-12 13:11:27 +0300 |
| commit | f101ad6855ae110046b9c16ce3c276addf75837e (patch) | |
| tree | 08510e3ee78ba51ebb3fa6156c3822f5a450ecbb /go | |
| parent | 766512c47523f65b345331bb632bd6a864890fec (diff) | |
| download | seaweedfs-f101ad6855ae110046b9c16ce3c276addf75837e.tar.xz seaweedfs-f101ad6855ae110046b9c16ce3c276addf75837e.zip | |
Fix Content-Disposition header; add dl=(0|1) URI param to use inline (default) or attachment
Diffstat (limited to 'go')
| -rw-r--r-- | go/weed/weed_server/volume_server_handlers_read.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/go/weed/weed_server/volume_server_handlers_read.go b/go/weed/weed_server/volume_server_handlers_read.go index 0bfe06d42..5f3199738 100644 --- a/go/weed/weed_server/volume_server_handlers_read.go +++ b/go/weed/weed_server/volume_server_handlers_read.go @@ -197,7 +197,13 @@ func writeResponseContent(filename, mimeType string, rs io.ReadSeeker, w http.Re w.Header().Set("Content-Type", mimeType) } if filename != "" { - w.Header().Set("Content-Disposition", `filename="`+fileNameEscaper.Replace(filename)+`"`) + contentDisposition := "inline" + if r.FormValue("dl") != "" { + if dl, _ := strconv.ParseBool(r.FormValue("dl")); dl { + contentDisposition = "attachment" + } + } + w.Header().Set("Content-Disposition", contentDisposition+`; filename="`+fileNameEscaper.Replace(filename)+`"`) } w.Header().Set("Accept-Ranges", "bytes") if r.Method == "HEAD" { |
