开发者社区> 问答> 正文

iOS-SDK之如何实现下载文件(一)?


简单下载


下载文件,可以指定下载为本地文件,或者下载为NSData:

  1. OSSGetObjectRequest * request = [OSSGetObjectRequest new];
  2. // 必填字段
  3. request.bucketName = @"<bucketName>";
  4. request.objectKey = @"<objectKey>";
  5. // 可选字段
  6. request.downloadProgress = ^(int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) {
  7.     // 当前下载段长度、当前已经下载总长度、一共需要下载的总长度
  8.     NSLog(@"%lld, %lld, %lld", bytesWritten, totalBytesWritten, totalBytesExpectedToWrite);
  9. };
  10. // request.range = [[OSSRange alloc] initWithStart:0 withEnd:99]; // bytes=0-99,指定范围下载
  11. // request.downloadToFileURL = [NSURL fileURLWithPath:@"<filepath>"]; // 如果需要直接下载到文件,需要指明目标文件地址
  12. OSSTask * getTask = [client getObject:request];
  13. [getTask continueWithBlock:^id(OSSTask *task) {
  14.     if (!task.error) {
  15.         NSLog(@"download object success!");
  16.         OSSGetObjectResult * getResult = task.result;
  17.         NSLog(@"download result: %@", getResult.dowloadedData);
  18.     } else {
  19.         NSLog(@"download object failed, error: %@" ,task.error);
  20.     }
  21.     return nil;
  22. }];
  23. // [getTask waitUntilFinished];
  24. // [request cancel];


图片处理


OSS图片处理,是OSS对外提供的海量、安全、低成本、高可靠的图片处理服务。用户将原始图片上传保存到OSS,通过简单的 RESTful 接口,在任何时间、任何地点、任何互联网设备上对图片进行处理。图片处理提供图片处理接口,图片上传请使用上传接口。基于OSS图片处理,用户可以搭建自己的图片处理服务。
OSS图片处理提供以下功能:
SDK中使用时,只需要在下载图片时,为request设置xOssProcess属性。示例:
  1. OSSGetObjectRequest * request = [OSSGetObjectRequest new];
  2. request.bucketName = @"<bucketName>";
  3. request.objectKey = @"example.jpg";
  4. // 图片处理
  5. request.xOssProcess = @"image/resize,m_lfit,w_100,h_100";
  6. OSSTask * getTask = [client getObject:request];
  7. [getTask continueWithBlock:^id(OSSTask *task) {
  8.     if (!task.error) {
  9.         NSLog(@"download image success!");
  10.         OSSGetObjectResult * getResult = task.result;
  11.         NSLog(@"download image data: %@", getResult.dowloadedData);
  12.     } else {
  13.         NSLog(@"download object failed, error: %@" ,task.error);
  14.     }
  15.     return nil;
  16. }];
  17. // [getTask waitUntilFinished];
  18. // [request cancel];

需要对图片进行其它处理,只要替换request.xOssProcess的值就可以了。需要帮助,请参考:
  • 可视化图片处理工具 ImageStyleViever ,可以直观的看到OSS图片处理的结果
  • OSS图片处理的功能、使用演示 页面






展开
收起
青衫无名 2017-10-18 14:08:12 2285 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
手淘iOS性能优化探索 立即下载
滴滴出行iOS端瘦身实践 立即下载
一个跨平台的云服务SDK需要什么 立即下载