通过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;