文档

iOS限定条件下载

更新时间:

下载文件(Object)时,可以指定一个或多个限定条件。满足限定条件则下载,条件不满足则返回错误且不会触发下载行为。

示例代码

以下代码用于下载存储空间examplebucket目录exampledir下的文件exampleobject.txt,且下载过程中指定了多个限定条件:

OSSGetObjectRequest *get = [OSSGetObjectRequest new];
// 填写Bucket名称。关于Bucket名称命名规范的更多信息,请参见Bucket。
get.bucketName = @"examplebucket";
// 填写不包含Bucket名称在内的Object完整路径。关于Object名称命名规范的更多信息,请参见Object。
get.objectKey = @"exampledir/exampleobject.txt";
NSMutableDictionary *headerFields = [NSMutableDictionary dictionary];
// 指定下载实际修改时间晚于Fri, 9 Apr 2021 14:47:53 GMT的Object。
[headerFields setValue:@"Fri, 13 Oct 2021 14:47:53 GMT" forKey:@"If-Modified-Since"];
// 指定下载实际修改时间早于或者等于当前时间的Object。
[headerFields setValue:[[NSDate new] oss_asStringValue] forKey:@"If-Unmodified-Since"];
// 指定下载与传入的ETag值不匹配的Object。
[headerFields setValue:@"5B3C1A2E0563E1B002CC607C****" forKey:@"If-None-Match"];
// 指定下载与传入的ETag值匹配的Object。
[headerFields setValue:@"fba9dede5f27731c9771645a3986****" forKey:@"If-Match"];
get.headerFields = headerFields;

[[[_client getObject:get] continueWithBlock:^id _Nullable(OSSTask * _Nonnull task) {
    if (!task.error) {
        NSLog(@"get object success!");
    } else {
        NSLog(@"get object error: %@", task.error);
    }
    return nil;
}] waitUntilFinished];

相关文档

关于限定条件下载的API接口说明,请参见GetObject

  • 本页导读 (1)