QCloudGetObjectRequest Class Reference
Inherits from | QCloudBizHTTPRequest |
---|---|
Declared in | QCloudGetObjectRequest.h QCloudGetObjectRequest.m |
Overview
下载 COS 对象的方法.
功能描述
可以直接发起 GET 请求获取 COS 中完整的对象数据, 或者在 GET 请求 中传入 Range 请求头部获取对象的部分内容.
获取COS 对象的同时,对象的元数据将会作为 HTTP 响应头部随对象内容一同返回,COS 支持GET 请求时 使用 URL 参数的方式覆盖响应的部分元数据值,例如覆盖 Content-iDisposition 的响应值.
关于获取 COS 对象的接口描述,请查看 https://cloud.tencent.com/document/product/436/7753.
示例
@code
QCloudGetObjectRequest* request = [QCloudGetObjectRequest new];
// 设置下载的路径 URL,如果设置了,文件将会被下载到指定路径中
// 如果未设置该参数,那么文件将会被下载至内存里,存放在在 finishBlock 的 outputObject 里
request.downloadingURL = [NSURL URLWithString:QCloudTempFilePathWithExtension(@"downding")];
// 对象键,是对象在 COS 上的完整路径,如果带目录的话,格式为 "dir1/object1"
request.object = @"exampleobject";
// 存储桶名称,格式为 BucketName-APPID
request.bucket = @"examplebucket-1250000000";
[request setFinishBlock:^(id outputObject, NSError *error) {
// 可以从 outputObject 中获取 response 中 etag 或者自定义头部等信息
NSDictionary* info = (NSDictionary *) outputObject;
}];
[request setDownProcessBlock:^(int64_t bytesDownload, int64_t totalBytesDownload,
int64_t totalBytesExpectedToDownload) {
// 下载过程中的进度
// bytesDownload 一次下载的字节数,
// totalBytesDownload 总过接受的字节数
// totalBytesExpectedToDownload 文件一共多少字节
}];
[[QCloudCOSXMLService defaultCOSXML] GetObject:request];
Other Methods
responseContentType
设置响应头部中的 Content-Type参数
@property (strong, nonatomic) NSString *responseContentType
Declared In
QCloudGetObjectRequest.h
responseContentLanguage
设置响应头部中的Content-Language参数
@property (strong, nonatomic) NSString *responseContentLanguage
Declared In
QCloudGetObjectRequest.h
responseContentExpires
设置响应头部中的Content-Expires参数
@property (strong, nonatomic) NSString *responseContentExpires
Declared In
QCloudGetObjectRequest.h
responseCacheControl
设置响应头部中的Cache-Control参数
@property (strong, nonatomic) NSString *responseCacheControl
Declared In
QCloudGetObjectRequest.h
responseContentDisposition
设置响应头部中的 Content-Disposition 参数。
@property (strong, nonatomic) NSString *responseContentDisposition
Declared In
QCloudGetObjectRequest.h
responseContentEncoding
设置响应头部中的 Content-Encoding 参数。
@property (strong, nonatomic) NSString *responseContentEncoding
Declared In
QCloudGetObjectRequest.h
range
RFC 2616 中定义的指定文件下载范围,以字节(bytes)为单位
@property (strong, nonatomic) NSString *range
Declared In
QCloudGetObjectRequest.h
ifModifiedSince
如果文件修改时间晚于指定时间,才返回文件内容。否则返回 412 (not modified)
@property (strong, nonatomic) NSString *ifModifiedSince
Declared In
QCloudGetObjectRequest.h
ifUnmodifiedModifiedSince
如果文件修改时间早于或等于指定时间,才返回文件内容。否则返回 412 (precondition failed)
@property (strong, nonatomic) NSString *ifUnmodifiedModifiedSince
Declared In
QCloudGetObjectRequest.h
ifMatch
当 ETag 与指定的内容一致,才返回文件。否则返回 412 (precondition failed)
@property (strong, nonatomic) NSString *ifMatch
Declared In
QCloudGetObjectRequest.h
ifNoneMatch
当 ETag 与指定的内容不一致,才返回文件。否则返回 304 (not modified)
@property (strong, nonatomic) NSString *ifNoneMatch
Declared In
QCloudGetObjectRequest.h
versionID
指定 Object 的 VersionID (在开启多版本的情况下)
@property (strong, nonatomic) NSString *versionID
Declared In
QCloudGetObjectRequest.h
Custom Methods
– enableMD5Verification
该选项设置为YES后,在下载完成后会比对COS上储存的文件MD5和下载到本地的文件MD5, 如果MD5有差异的话会返回-340013错误码。 目前默认关闭。
- (BOOL)enableMD5Verification
Declared In
QCloudGetObjectRequest+Custom.h