diff options
| author | Konstantin Lebedev <lebedev_k@tochka.com> | 2021-10-12 17:14:54 +0500 |
|---|---|---|
| committer | Konstantin Lebedev <lebedev_k@tochka.com> | 2021-10-12 17:14:54 +0500 |
| commit | 458145425e3debbf732b4c0fbecb24aa68acf05d (patch) | |
| tree | 065aecd957ee4b235d6213afec41a39b9bfc3331 | |
| parent | de1ec050e86ba8ba941de7bc3eaf80ce5b6ee208 (diff) | |
| download | seaweedfs-458145425e3debbf732b4c0fbecb24aa68acf05d.tar.xz seaweedfs-458145425e3debbf732b4c0fbecb24aa68acf05d.zip | |
S3 MultipartUpload pass contentType to meta
| -rw-r--r-- | weed/s3api/filer_multipart.go | 6 | ||||
| -rw-r--r-- | weed/s3api/s3api_object_multipart_handlers.go | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/weed/s3api/filer_multipart.go b/weed/s3api/filer_multipart.go index 9a485ec66..fca1a0aa4 100644 --- a/weed/s3api/filer_multipart.go +++ b/weed/s3api/filer_multipart.go @@ -38,6 +38,9 @@ func (s3a *S3ApiServer) createMultipartUpload(input *s3.CreateMultipartUploadInp for k, v := range input.Metadata { entry.Extended[k] = []byte(*v) } + if input.ContentType != nil { + entry.Attributes.Mime = *input.ContentType + } }); err != nil { glog.Errorf("NewMultipartUpload error: %v", err) return nil, s3err.ErrInternalError @@ -121,6 +124,9 @@ func (s3a *S3ApiServer) completeMultipartUpload(input *s3.CompleteMultipartUploa entry.Extended[k] = v } } + if pentry.Attributes.Mime != "" { + entry.Attributes.Mime = pentry.Attributes.Mime + } }) if err != nil { diff --git a/weed/s3api/s3api_object_multipart_handlers.go b/weed/s3api/s3api_object_multipart_handlers.go index c9ad222b1..ab72b8437 100644 --- a/weed/s3api/s3api_object_multipart_handlers.go +++ b/weed/s3api/s3api_object_multipart_handlers.go @@ -36,6 +36,10 @@ func (s3a *S3ApiServer) NewMultipartUploadHandler(w http.ResponseWriter, r *http createMultipartUploadInput.Metadata[k] = aws.String(string(v)) } + contentType := r.Header.Get("Content-Type") + if contentType != "" { + createMultipartUploadInput.ContentType = &contentType + } response, errCode := s3a.createMultipartUpload(createMultipartUploadInput) glog.V(2).Info("NewMultipartUploadHandler", string(s3err.EncodeXMLResponse(response)), errCode) |
