如何使用AWS iOS SDK v2将UIImage上传到S3 [英] How to upload a UIImage to S3 with AWS iOS SDK v2

查看:1070
本文介绍了如何使用AWS iOS SDK v2将UIImage上传到S3的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Github中的README页面( https://github.com/aws/aws-sdk-ios-v2 )已经有一个从文件路径URL上传图像的示例:

The README page in Github (https://github.com/aws/aws-sdk-ios-v2) already has an example to upload an image, from the file path URL:

AWSS3TransferManagerUploadRequest *uploadRequest = [AWSS3TransferManagerUploadRequest new];
uploadRequest.bucket = yourBucket;
uploadRequest.key = yourKey;
uploadRequest.body = yourDataURL; // <<<< this is a NSURL
uploadRequest.contentLength = [NSNumber numberWithUnsignedLongLong:fileSize];

但是,如果我只有 UIImage 在内存中(没有文件路径)?
是否可以将 UIImage (或者 NSData )上传到 S3 使用 SDK

But, what if I only have a UIImage in memory (without file path)? Is it possible to upload a UIImage (or it's NSData) to S3 using the SDK?

手动使用HTTP API会更容易吗?使用像AFNetworking这样的东西?

Would it be easier to manually use the HTTP API (using something like AFNetworking)?

推荐答案

似乎AWSiOSSDKv2目前不支持从内存上传图像:(

It seems that AWSiOSSDKv2 don't have support to upload images from memory at this moment :(

来自 Github问题


仅接受NSURL文件的决定由以下
因素驱动:

The decision to accept only file NSURLs was driven by the following factors:


  1. 从v1开始,暂停/恢复功能要求输入为
    文件。当应用
    时,无法恢复NSData并重试传输

  2. iOS 7及更高版本的后台传输只需
    支持文件。目前,我们不支持后台传输,但我们计划支持
    它在未来。我们考虑接受
    一个NSData并在内部将数据保存到临时目录。

  3. 我们决定不在2.0版本中包含这个,因为如果NSData是
    支持的一个文件,它使数据的磁盘使用量翻倍。此外,
    开发人员在使用
    S3TransferManager时必须处理与磁盘相关的错误。即使我们决定不在2.0
    版本中接受NSData,我们也会对您的反馈持开放态度。如果这是您想要在未来版本中查看
    的功能,请使用
    功能请求创建新问题。


```

这篇关于如何使用AWS iOS SDK v2将UIImage上传到S3的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆