From 7458ff952311deff8aa3ca1a8ca13f788e311dce Mon Sep 17 00:00:00 2001 From: henry Date: Mon, 28 Dec 2020 11:28:33 +0800 Subject: Solve the Chinese name disorder of download file --- weed/server/filer_server_handlers_read.go | 2 ++ 1 file changed, 2 insertions(+) (limited to 'weed/server/filer_server_handlers_read.go') diff --git a/weed/server/filer_server_handlers_read.go b/weed/server/filer_server_handlers_read.go index d55bf7cbb..4d61193ec 100644 --- a/weed/server/filer_server_handlers_read.go +++ b/weed/server/filer_server_handlers_read.go @@ -6,6 +6,7 @@ import ( "io" "mime" "net/http" + "net/url" "path/filepath" "strconv" "strings" @@ -121,6 +122,7 @@ func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request, setEtag(w, etag) filename := entry.Name() + filename = url.QueryEscape(filename) adjustHeaderContentDisposition(w, r, filename) totalSize := int64(entry.Size()) -- cgit v1.2.3 From 14ddd155082a455542a992220d6c61e658420c6b Mon Sep 17 00:00:00 2001 From: henry Date: Thu, 31 Dec 2020 00:03:22 +0800 Subject: 1 Distinguish between folders and common files, folders are listed first 2 Add some custom headers that need to be exposed --- weed/server/filer_server_handlers_read.go | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'weed/server/filer_server_handlers_read.go') diff --git a/weed/server/filer_server_handlers_read.go b/weed/server/filer_server_handlers_read.go index 4d61193ec..28027a009 100644 --- a/weed/server/filer_server_handlers_read.go +++ b/weed/server/filer_server_handlers_read.go @@ -100,6 +100,16 @@ func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request, w.Header().Set(k, string(v)) } + //Add some custom headers that need to be exposed + seaweedHeaders := []string{} + for i, _ := range w.Header() { + if strings.Contains(i, "Seaweed") { + seaweedHeaders = append(seaweedHeaders, i) + } + } + seaweedHeaders = append(seaweedHeaders, "Content-Disposition") + w.Header().Set("Access-Control-Expose-Headers", strings.Join(seaweedHeaders, ",")) + //set tag count if r.Method == "GET" { tagCount := 0 -- cgit v1.2.3 From 1309dfe612ae818134d2241c38fc3858516ea729 Mon Sep 17 00:00:00 2001 From: henry Date: Tue, 5 Jan 2021 12:58:46 +0800 Subject: Seaweed custom header are not visible to Vue or javascript --- weed/server/filer_server_handlers_read.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'weed/server/filer_server_handlers_read.go') diff --git a/weed/server/filer_server_handlers_read.go b/weed/server/filer_server_handlers_read.go index 28027a009..46a7ca9d9 100644 --- a/weed/server/filer_server_handlers_read.go +++ b/weed/server/filer_server_handlers_read.go @@ -102,9 +102,9 @@ func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request, //Add some custom headers that need to be exposed seaweedHeaders := []string{} - for i, _ := range w.Header() { - if strings.Contains(i, "Seaweed") { - seaweedHeaders = append(seaweedHeaders, i) + for header, _ := range w.Header() { + if strings.HasPrefix(header, "Seaweed-") { + seaweedHeaders = append(seaweedHeaders, header) } } seaweedHeaders = append(seaweedHeaders, "Content-Disposition") -- cgit v1.2.3 From b42c5b71c1ec97bd096785ee1428fe257f10c88b Mon Sep 17 00:00:00 2001 From: henry Date: Tue, 5 Jan 2021 13:01:29 +0800 Subject: Seaweed custom header are not visible to Vue or javascript --- weed/server/filer_server_handlers_read.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'weed/server/filer_server_handlers_read.go') diff --git a/weed/server/filer_server_handlers_read.go b/weed/server/filer_server_handlers_read.go index 46a7ca9d9..5cfbfe86c 100644 --- a/weed/server/filer_server_handlers_read.go +++ b/weed/server/filer_server_handlers_read.go @@ -100,7 +100,7 @@ func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request, w.Header().Set(k, string(v)) } - //Add some custom headers that need to be exposed + //Seaweed custom header are not visible to Vue or javascript seaweedHeaders := []string{} for header, _ := range w.Header() { if strings.HasPrefix(header, "Seaweed-") { -- cgit v1.2.3 From 698f58f7c400eae6b8ca416025c8ae44b5b6a134 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Thu, 14 Jan 2021 02:59:40 -0800 Subject: filer, s3: add http status 206 as late as possible fix https://github.com/chrislusf/seaweedfs/issues/1746 --- weed/server/filer_server_handlers_read.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'weed/server/filer_server_handlers_read.go') diff --git a/weed/server/filer_server_handlers_read.go b/weed/server/filer_server_handlers_read.go index 5cfbfe86c..9fdc03dea 100644 --- a/weed/server/filer_server_handlers_read.go +++ b/weed/server/filer_server_handlers_read.go @@ -158,8 +158,11 @@ func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request, } } - processRangeRequest(r, w, totalSize, mimeType, func(writer io.Writer, offset int64, size int64) error { + processRangeRequest(r, w, totalSize, mimeType, func(writer io.Writer, offset int64, size int64, httpStatusCode int) error { if offset+size <= int64(len(entry.Content)) { + if httpStatusCode != 0 { + w.WriteHeader(httpStatusCode) + } _, err := writer.Write(entry.Content[offset : offset+size]) return err } -- cgit v1.2.3