Browse Source

fix volume Encode

pull/5443/head
Konstantin Lebedev 1 year ago
parent
commit
bf398d2266
  1. 5
      weed/operation/upload_content.go
  2. 2
      weed/s3api/s3api_object_handlers_postpolicy.go
  3. 2
      weed/server/filer_server_handlers_write_autochunk.go

5
weed/operation/upload_content.go

@ -5,6 +5,7 @@ import (
"context"
"encoding/json"
"fmt"
"github.com/rclone/rclone/lib/encoder"
"io"
"mime"
"mime/multipart"
@ -128,8 +129,6 @@ func UploadWithRetry(filerClient filer_pb.FilerClient, assignRequest *filer_pb.A
return
}
var fileNameEscaper = strings.NewReplacer(`\`, `\\`, `"`, `\"`, "\n", "")
// Upload sends a POST request to a volume server to upload the content with adjustable compression level
func UploadData(data []byte, option *UploadOption) (uploadResult *UploadResult, err error) {
uploadResult, err = retriedUploadData(data, option)
@ -279,7 +278,7 @@ func upload_content(fillBufferFunction func(w io.Writer) error, originalDataSize
defer PutBuffer(buf)
body_writer := multipart.NewWriter(buf)
h := make(textproto.MIMEHeader)
filename := fileNameEscaper.Replace(option.Filename)
filename := encoder.Standard.Encode(option.Filename)
h.Set("Content-Disposition", fmt.Sprintf(`form-data; name="file"; filename="%s"`, filename))
h.Set("Idempotency-Key", option.UploadUrl)
if option.MimeType == "" {

2
weed/s3api/s3api_object_handlers_postpolicy.go

@ -126,7 +126,7 @@ func (s3a *S3ApiServer) PostPolicyBucketHandler(w http.ResponseWriter, r *http.R
// Add s3 postpolicy support header
for k, _ := range formValues {
if k == "Cache-Control" || k == "Expires" || k == "Content-Disposition" {
if k == "Cache-Control" || k == "Expires" || k == "Content-Disposition" || k == "Content-Language" {
r.Header.Set(k, formValues.Get(k))
continue
}

2
weed/server/filer_server_handlers_write_autochunk.go

@ -257,7 +257,7 @@ func (fs *FilerServer) saveMetaData(ctx context.Context, r *http.Request, fileNa
for k, v := range r.Header {
if len(v) > 0 && len(v[0]) > 0 {
if strings.HasPrefix(k, needle.PairNamePrefix) || k == "Cache-Control" || k == "Expires" || k == "Content-Disposition" {
if strings.HasPrefix(k, needle.PairNamePrefix) || k == "Cache-Control" || k == "Expires" || k == "Content-Disposition" || k == "Content-Language" {
entry.Extended[k] = []byte(v[0])
}
if k == "Response-Content-Disposition" {

Loading…
Cancel
Save