本文介绍如何将一个存储空间(源存储空间)中的文件复制到同一地域下相同或不同存储空间(目标存储空间)中。
拷贝文件时注意事项如下:
- 用户必须有源Object的读权限及目标Bucket的读写权限。
- 不支持跨地域拷贝。例如不能将华东1(杭州)地域存储空间中的文件拷贝到华北1(青岛)地域。
以下代码用于拷贝文件。
OSSCopyObjectRequest * copy = [OSSCopyObjectRequest new]; // 填写源Bucket名称。 copy.bucketName = @<bucketName>; // objectKey等同于objectName,表示从源Bucket拷贝文件时需要指定包含文件后缀在内的完整路径,完整路径中不能包含Bucket名称,例如abc/efg/123.jpg copy.objectKey = @"<objectKey>"; copy.sourceCopyFrom = [NSString stringWithFormat:@"/%@/%@", @"<bucketName>, @"<objectKey_copyFrom>"]; OSSTask * task = [client copyObject:copy]; [task continueWithBlock:^id(OSSTask *task) { if (!task.error) { // ... } return nil;s }];