diff options
| author | Chris Lu <chris.lu@gmail.com> | 2020-07-25 20:06:40 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2020-07-25 20:06:40 -0700 |
| commit | 023a1efdf2b05a9e1595e9f95e5919a829d3fea7 (patch) | |
| tree | 38ea73b74cdbcbf50eee7df21c4b9b1cad330f07 | |
| parent | 54eebf538f0e4b335bea5137dbcd0f0e20d9eb68 (diff) | |
| download | seaweedfs-023a1efdf2b05a9e1595e9f95e5919a829d3fea7.tar.xz seaweedfs-023a1efdf2b05a9e1595e9f95e5919a829d3fea7.zip | |
set filename in Content-Disposition header
| -rw-r--r-- | weed/server/common.go | 2 | ||||
| -rw-r--r-- | weed/server/filer_server_handlers_read.go | 6 | ||||
| -rw-r--r-- | weed/server/volume_server_handlers_read.go | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/weed/server/common.go b/weed/server/common.go index c43b144cb..7fc4d45f3 100644 --- a/weed/server/common.go +++ b/weed/server/common.go @@ -218,7 +218,7 @@ func handleStaticResources2(r *mux.Router) { r.PathPrefix("/seaweedfsstatic/").Handler(http.StripPrefix("/seaweedfsstatic", http.FileServer(statikFS))) } -func adjustHeadersAfterHEAD(w http.ResponseWriter, r *http.Request, filename string) { +func adjustHeaders(w http.ResponseWriter, r *http.Request, filename string) { if filename != "" { contentDisposition := "inline" if r.FormValue("dl") != "" { diff --git a/weed/server/filer_server_handlers_read.go b/weed/server/filer_server_handlers_read.go index 76c924df1..aef490ff4 100644 --- a/weed/server/filer_server_handlers_read.go +++ b/weed/server/filer_server_handlers_read.go @@ -101,14 +101,14 @@ func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request, } setEtag(w, etag) + filename := entry.Name() + adjustHeaders(w, r, filename) + if r.Method == "HEAD" { w.Header().Set("Content-Length", strconv.FormatInt(int64(filer2.TotalSize(entry.Chunks)), 10)) return } - filename := entry.Name() - adjustHeadersAfterHEAD(w, r, filename) - totalSize := int64(filer2.TotalSize(entry.Chunks)) if rangeReq := r.Header.Get("Range"); rangeReq == "" { diff --git a/weed/server/volume_server_handlers_read.go b/weed/server/volume_server_handlers_read.go index d508849bc..1d1e0f1bb 100644 --- a/weed/server/volume_server_handlers_read.go +++ b/weed/server/volume_server_handlers_read.go @@ -244,13 +244,13 @@ func writeResponseContent(filename, mimeType string, rs io.ReadSeeker, w http.Re } w.Header().Set("Accept-Ranges", "bytes") + adjustHeaders(w, r, filename) + if r.Method == "HEAD" { w.Header().Set("Content-Length", strconv.FormatInt(totalSize, 10)) return nil } - adjustHeadersAfterHEAD(w, r, filename) - processRangeRequest(r, w, totalSize, mimeType, func(writer io.Writer, offset int64, size int64) error { if _, e = rs.Seek(offset, 0); e != nil { return e |
