MCPcopy Index your code
hub / github.com/TruthHun/BookStack / ListObjects

Method ListObjects

models/store/oss.go:233–260  ·  view source on GitHub ↗

根据文件夹列表OSS文件

(folder string)

Source from the content-addressed store, hash-verified

231
232// 根据文件夹列表OSS文件
233func (o *Oss) ListObjects(folder string) (objects []string, err error) {
234 var (
235 lists oss.ListObjectsResult
236 bucket *oss.Bucket
237 )
238 bucket, err = o.GetBucket()
239 if err != nil {
240 return
241 }
242 folder = strings.Trim(folder, "./") + "/"
243
244 // 列举所有文件。
245 marker := ""
246 for {
247 lists, err = bucket.ListObjects(oss.Marker(marker), oss.Prefix(folder), oss.MaxKeys(1000))
248 for _, obj := range lists.Objects {
249 if obj.Size > 0 { // size 为0的,视为文件夹
250 objects = append(objects, obj.Key)
251 }
252 }
253 if lists.IsTruncated {
254 marker = lists.NextMarker
255 } else {
256 break
257 }
258 }
259 return
260}
261
262// CopyDir 拷贝文件夹
263func (o *Oss) CopyDir(sourceDir, targetDir string) (err error) {

Callers 3

CopyDirMethod · 0.95
Down2localMethod · 0.95
DelOssFolderMethod · 0.80

Calls 2

GetBucketMethod · 0.95
appendFunction · 0.50

Tested by

no test coverage detected