Browse Source

Merge pull request #1404 from hilimd/master

S3 PutObject: fix create folder bug
pull/1507/head
Chris Lu 4 years ago
committed by GitHub
parent
commit
bfa07af326
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 21
      weed/s3api/s3api_object_handlers.go

21
weed/s3api/s3api_object_handlers.go

@ -57,16 +57,23 @@ func (s3a *S3ApiServer) PutObjectHandler(w http.ResponseWriter, r *http.Request)
}
defer dataReader.Close()
uploadUrl := fmt.Sprintf("http://%s%s/%s%s", s3a.option.Filer, s3a.option.BucketsPath, bucket, object)
if strings.HasSuffix(object, "/") {
if err := s3a.mkdir(s3a.option.BucketsPath, bucket+object, nil); err != nil {
writeErrorResponse(w, ErrInternalError, r.URL)
return
}
} else {
uploadUrl := fmt.Sprintf("http://%s%s/%s%s", s3a.option.Filer, s3a.option.BucketsPath, bucket, object)
etag, errCode := s3a.putToFiler(r, uploadUrl, dataReader)
etag, errCode := s3a.putToFiler(r, uploadUrl, dataReader)
if errCode != ErrNone {
writeErrorResponse(w, errCode, r.URL)
return
}
if errCode != ErrNone {
writeErrorResponse(w, errCode, r.URL)
return
}
setEtag(w, etag)
setEtag(w, etag)
}
writeSuccessResponseEmpty(w)
}

Loading…
Cancel
Save