Browse Source

S3 MultipartUpload pass contentType to meta

pull/2376/head
Konstantin Lebedev 3 years ago
parent
commit
458145425e
  1. 6
      weed/s3api/filer_multipart.go
  2. 4
      weed/s3api/s3api_object_multipart_handlers.go

6
weed/s3api/filer_multipart.go

@ -38,6 +38,9 @@ func (s3a *S3ApiServer) createMultipartUpload(input *s3.CreateMultipartUploadInp
for k, v := range input.Metadata { for k, v := range input.Metadata {
entry.Extended[k] = []byte(*v) entry.Extended[k] = []byte(*v)
} }
if input.ContentType != nil {
entry.Attributes.Mime = *input.ContentType
}
}); err != nil { }); err != nil {
glog.Errorf("NewMultipartUpload error: %v", err) glog.Errorf("NewMultipartUpload error: %v", err)
return nil, s3err.ErrInternalError return nil, s3err.ErrInternalError
@ -121,6 +124,9 @@ func (s3a *S3ApiServer) completeMultipartUpload(input *s3.CompleteMultipartUploa
entry.Extended[k] = v entry.Extended[k] = v
} }
} }
if pentry.Attributes.Mime != "" {
entry.Attributes.Mime = pentry.Attributes.Mime
}
}) })
if err != nil { if err != nil {

4
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)) createMultipartUploadInput.Metadata[k] = aws.String(string(v))
} }
contentType := r.Header.Get("Content-Type")
if contentType != "" {
createMultipartUploadInput.ContentType = &contentType
}
response, errCode := s3a.createMultipartUpload(createMultipartUploadInput) response, errCode := s3a.createMultipartUpload(createMultipartUploadInput)
glog.V(2).Info("NewMultipartUploadHandler", string(s3err.EncodeXMLResponse(response)), errCode) glog.V(2).Info("NewMultipartUploadHandler", string(s3err.EncodeXMLResponse(response)), errCode)

Loading…
Cancel
Save