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

Method CopyDir

models/store/oss.go:263–282  ·  view source on GitHub ↗

CopyDir 拷贝文件夹

(sourceDir, targetDir string)

Source from the content-addressed store, hash-verified

261
262// CopyDir 拷贝文件夹
263func (o *Oss) CopyDir(sourceDir, targetDir string) (err error) {
264 var (
265 objects []string
266 bucket, _ = o.GetBucket()
267 )
268
269 sourceDir = strings.TrimLeft(sourceDir, "./")
270 targetDir = strings.TrimLeft(targetDir, "./")
271 objects, err = o.ListObjects(sourceDir)
272 if err != nil {
273 return
274 }
275 for _, obj := range objects {
276 targetFile := strings.ReplaceAll(filepath.Join(targetDir, strings.TrimPrefix(obj, sourceDir)), "\\", "/")
277 if _, err = bucket.CopyObject(obj, targetFile); err != nil {
278 beego.Error("copy", obj, "==>", targetFile, err.Error())
279 }
280 }
281 return
282}
283
284// CopyDir 拷贝文件夹
285func (o *Oss) CopyFile(sourceFile, targetFile string) (err error) {

Callers 2

CopyMethod · 0.45
down2localMethod · 0.45

Calls 2

GetBucketMethod · 0.95
ListObjectsMethod · 0.95

Tested by

no test coverage detected