iOS管理软链接

软链接功能用于便捷访问Bucket内的常用Object。设置软链接后,您可以使用类似于Windows的快捷方式,通过软链接文件打开Object。

注意事项

  • 使用本文示例前您需要先通过自定义域名、STS等方式新建OSSClient,具体请参见初始化

创建软链接

以下代码用于为examplebucket中的exampleobject.txt文件创建名为examplesymlink的软链接。

OSSPutSymlinkRequest *request = [OSSPutSymlinkRequest new];
// 填写Bucket名称,例如examplebucket。
request.bucketName = @"examplebucket";
// 填写软链接名称。
request.objectKey = @"examplesymlink";
// 填写软链接指定的Object完整路径,Object完整路径中不能包含Bucket名称。
request.targetObjectName = @"exampleobject.txt";

OSSTask *putSymlinkTask = [client putSymlink:request];
[putSymlinkTask continueWithBlock:^id _Nullable(OSSTask * _Nonnull task) {
    if (!task.error) {
        NSLog(@"put symlink success");
    } else {
        NSLog(@"put symlink failed, error: %@", task.error);
    }
    return nil;
}];
// 实现同步阻塞等待任务完成。
// [putSymlinkTask waitUntilFinished];

获取软链接

获取软链接要求您对该软链接具有读权限。

以下代码用于获取examplebucket存储空间中软链接examplesymlink指向的目标文件名称。

OSSGetSymlinkRequest *request = [OSSGetSymlinkRequest new];
// 填写Bucket名称,例如examplebucket。
request.bucketName = @"examplebucket";
// 填写软链接名称。
request.objectKey = @"examplesymlink";

OSSTask *getSymlinkTask = [client getSymlink:request];
[getSymlinkTask continueWithBlock:^id _Nullable(OSSTask * _Nonnull task) {
    if (!task.error) {
        OSSGetSymlinkResult *result = task.result;
        NSLog(@"get symlink: %@", result.httpResponseHeaderFields[@"x-oss-symlink-target"]);
    } else {
        NSLog(@"get symlink failed, error: %@", task.error);
    }
    return nil;
}];
// 实现同步阻塞等待任务完成。
// [putSymlinkTask waitUntilFinished];

相关文档