Browse Source
Merge pull request #1077 from iliul/fix-commonprefix-issue
s3 api: fix listbucket common_prefixes issue
pull/1084/head
Chris Lu
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
11 additions and
4 deletions
-
weed/s3api/filer_multipart.go
-
weed/s3api/s3api_objects_list_handlers.go
-
weed/s3api/s3api_xsd_generated.go
|
|
@ -91,6 +91,11 @@ func (s3a *S3ApiServer) completeMultipartUpload(ctx context.Context, input *s3.C |
|
|
|
} |
|
|
|
dirName = fmt.Sprintf("%s/%s/%s", s3a.option.BucketsPath, *input.Bucket, dirName) |
|
|
|
|
|
|
|
// remove suffix '/'
|
|
|
|
if strings.HasSuffix(dirName, "/") { |
|
|
|
dirName = dirName[:len(dirName)-1] |
|
|
|
} |
|
|
|
|
|
|
|
err = s3a.mkFile(ctx, dirName, entryName, finalParts) |
|
|
|
|
|
|
|
if err != nil { |
|
|
|
|
|
@ -125,9 +125,11 @@ func (s3a *S3ApiServer) listFilerEntries(ctx context.Context, bucket, originalPr |
|
|
|
} |
|
|
|
lastEntryName = entry.Name |
|
|
|
if entry.IsDirectory { |
|
|
|
commonPrefixes = append(commonPrefixes, PrefixEntry{ |
|
|
|
Prefix: fmt.Sprintf("%s%s/", dir, entry.Name), |
|
|
|
}) |
|
|
|
if entry.Name != ".uploads" { |
|
|
|
commonPrefixes = append(commonPrefixes, PrefixEntry{ |
|
|
|
Prefix: fmt.Sprintf("%s%s/", dir, entry.Name), |
|
|
|
}) |
|
|
|
} |
|
|
|
} else { |
|
|
|
contents = append(contents, ListEntry{ |
|
|
|
Key: fmt.Sprintf("%s%s", dir, entry.Name), |
|
|
|
|
|
@ -675,7 +675,7 @@ type PostResponse struct { |
|
|
|
} |
|
|
|
|
|
|
|
type PrefixEntry struct { |
|
|
|
Prefix string `xml:"http://s3.amazonaws.com/doc/2006-03-01/ Prefix"` |
|
|
|
Prefix string `xml:"Prefix"` |
|
|
|
} |
|
|
|
|
|
|
|
type PutObject struct { |
|
|
|