全部產品
Search
文件中心

Object Storage Service:iOS簡單下載

更新時間:Aug 20, 2024

本文檔介紹如何進行簡單下載。

注意事項

  • 使用本文樣本前您需要先通過自訂網域名、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];

相關文檔