diff --git a/weed/s3api/s3api_acp.go b/weed/s3api/s3api_acp.go index 106f14d7d..f391a0d70 100644 --- a/weed/s3api/s3api_acp.go +++ b/weed/s3api/s3api_acp.go @@ -10,6 +10,7 @@ import ( "github.com/seaweedfs/seaweedfs/weed/s3api/s3err" "github.com/seaweedfs/seaweedfs/weed/util" "net/http" + "path/filepath" ) func getAccountId(r *http.Request) string { @@ -256,7 +257,8 @@ func (s3a *S3ApiServer) checkAccessForWriteObjectAcl(accountId, bucket, object s } func updateObjectEntry(s3a *S3ApiServer, bucket, object string, entry *filer_pb.Entry) error { - return s3a.updateEntry(util.Join(s3a.option.BucketsPath, bucket, object), entry) + dir, _ := filepath.Split(object) + return s3a.updateEntry(util.Join(s3a.option.BucketsPath, bucket, dir), entry) } // Check Object-Write related access