|
|
|
@@ -280,18 +280,18 @@ func ObsCopyFile(srcBucket string, srcKeyName string, destBucket string, destKey |
|
|
|
return nil |
|
|
|
} |
|
|
|
|
|
|
|
func GetAllObsListObjectUnderDir(bucket string, prefix string) ([]FileInfo, error) { |
|
|
|
func GetAllObsListObjectUnderDir(bucket string, prefixRootPath string, relativePath string) ([]FileInfo, error) { |
|
|
|
input := &obs.ListObjectsInput{} |
|
|
|
input.Bucket = bucket |
|
|
|
input.Prefix = prefix |
|
|
|
input.Prefix = prefixRootPath + relativePath |
|
|
|
output, err := ObsCli.ListObjects(input) |
|
|
|
fileInfos := make([]FileInfo, 0) |
|
|
|
prefixLen := len(prefix) |
|
|
|
prefixLen := len(input.Prefix) |
|
|
|
if err == nil { |
|
|
|
for _, val := range output.Contents { |
|
|
|
var isDir bool |
|
|
|
var fileName, parentDir string |
|
|
|
if val.Key == prefix { |
|
|
|
var fileName string |
|
|
|
if val.Key == input.Prefix { |
|
|
|
continue |
|
|
|
} |
|
|
|
if strings.Contains(val.Key[prefixLen:len(val.Key)-1], "/") { |
|
|
|
@@ -300,7 +300,7 @@ func GetAllObsListObjectUnderDir(bucket string, prefix string) ([]FileInfo, erro |
|
|
|
if strings.HasSuffix(val.Key, "/") { |
|
|
|
isDir = true |
|
|
|
fileName = val.Key[prefixLen : len(val.Key)-1] |
|
|
|
parentDir = val.Key[prefixLen:] |
|
|
|
relativePath += val.Key[prefixLen:] |
|
|
|
} else { |
|
|
|
isDir = false |
|
|
|
fileName = val.Key[prefixLen:] |
|
|
|
@@ -310,7 +310,7 @@ func GetAllObsListObjectUnderDir(bucket string, prefix string) ([]FileInfo, erro |
|
|
|
FileName: fileName, |
|
|
|
Size: val.Size, |
|
|
|
IsDir: isDir, |
|
|
|
ParenDir: parentDir, |
|
|
|
ParenDir: relativePath, |
|
|
|
} |
|
|
|
fileInfos = append(fileInfos, fileInfo) |
|
|
|
} |
|
|
|
|