本文檔介紹如何進行簡單下載。
注意事項
使用本文示例前您需要先通過自定義域名、STS等方式新建OSSClient,具體請參見初始化。
說明所創建存儲空間的所屬地域取決于初始化配置的endpoint地域信息。
要下載文件,您必須有
ossGetObject
權限。具體操作,請參見為RAM用戶授權自定義的權限策略。
示例代碼
下載文件時,您可以指定下載為本地文件或者下載為NSData。
OSSGetObjectRequest * request = [OSSGetObjectRequest new];
// 填寫Bucket名稱,例如examplebucket。
request.bucketName = @"examplebucket";
// 填寫文件完整路徑,例如exampledir/exampleobject.txt。Object完整路徑中不能包含Bucket名稱。
request.objectKey = @"exampledir/exampleobject.txt";
// 可選字段。
request.downloadProgress = ^(int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) {
// 當前下載段長度、當前已經下載總長度、一共需要下載的總長度。
NSLog(@"%lld, %lld, %lld", bytesWritten, totalBytesWritten, totalBytesExpectedToWrite);
};
// request.range = [[OSSRange alloc] initWithStart:0 withEnd:99]; // bytes=0-99,指定范圍下載。
// request.downloadToFileURL = [NSURL fileURLWithPath:@"<filepath>"]; // 如果需要直接下載到文件,需要指明目標文件地址。
OSSTask * getTask = [client getObject:request];
[getTask continueWithBlock:^id(OSSTask *task) {
if (!task.error) {
NSLog(@"download object success!");
OSSGetObjectResult * getResult = task.result;
NSLog(@"download result: %@", getResult.downloadedData);
} else {
NSLog(@"download object failed, error: %@" ,task.error);
}
return nil;
}];
// [getTask waitUntilFinished];
// [request cancel];
相關文檔
關于簡單下載的API接口說明,請參見GetObject。
關于初始化OSSClient,請參見如何初始化OSSClient實例。
文檔內容是否對您有幫助?