我无法通过AFNetworking将文件上传到S3。当我尝试上传时,我收到表示文件上传比例很小的回调,然后回调停止,一两分钟后,我收到超时消息。
我正在使用AFAmazonS3Client,但它似乎是AFHTTPClient的一个很简单的子类,因此问题似乎不大可能存在。由于我是AFNetworking和S3的新手,所以我很确定问题出在此消息上:)
我已经下载了AWS-IOS SDK,并能够毫无问题地从示例代码中发布图片。因此,我认为我的S3帐户配置不误。
最佳答案
经过相同的问题和一些研究后,我发现了一个似乎很好的解决方案。
下载适用于iOS的Amazon AWS开发工具包,并将其添加到您的项目中:
http://aws.amazon.com/sdkforios/
然后,使用自定义NSOperation
类实现上传测试,如下所示:
Using delegates, operations, and queuesAmazonServiceRequestDelegate
协议是获取进度更新的关键,其方式与AFNetworking
相似。
特别是,这种方法正是我所需要的:
-(void)request:(AmazonServiceRequest *)request didSendData:(NSInteger)bytesWritten
totalBytesWritten:(NSInteger)totalBytesWritten
totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite;