通过AFNetworking上传到Amazon-S3
我很难通过AFNetworking上传文件到S3。 当我尝试上传的时候,我得到的callback指出上传了一小部分文件,然后callback停止,一两分钟后我收到一条超时消息。
我正在使用AFAmazonS3Client,但它看起来像AFHTTPClient的一个非常简单的子类,所以它似乎不太可能存在问题。 由于我是AFNetworking和S3的新手,我很确定问题在于input这个消息:)
我已经下载了AWS-IOS SDK,并且能够从他们的示例代码中发布图片,没有任何问题。 所以我不认为它是我的S3帐户的configuration错误。
经过同样的问题和一些研究之后,我find了一个解决scheme,似乎工作得很好。
下载适用于iOS的Amazon AWS SDK,并将其添加到您的项目中:
http://aws.amazon.com/sdkforios/
然后,使用一个自定义NSOperation
类来实现上传testing,如下所述:
使用委托,操作和队列
AmazonServiceRequestDelegate
协议是获取进度更新的关键,与AFNetworking
类似。
特别是,这个方法是我所需要的:
-(void)request:(AmazonServiceRequest *)request didSendData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite;