取消先前的putObjectRequest后,S3PutObjectRequest无法上传

时间:2013-08-14 16:46:05

标签: iphone ios amazon-web-services amazon-s3

取消先前的请求后,S3PutObjectRequest无法执行。

用户必须能够取消上传并替换要上传的照片。 如果用户改变了主意,他总是可以点击取消按钮,这将取消S3PutObjectRequest并返回上一个viewcontroller。

我可以用它取消请求。

[self.uploadRequest cancel];

但请求取消后。我不能再上传了。我刚刚调用了上传到AmazonS3的相同方法。

    self.s3 = [[AmazonS3Client alloc] initWithAccessKey:ACCESS_KEY_ID withSecretKey:SECRET_KEY];
    self.s3.endpoint = [AmazonEndpoints s3Endpoint:[S3Region USStandard]];
    // 10 seconds timeout.
    //self.s3.timeout = 90; // 1.5 minutes timeout.
    self.transferManager = [S3TransferManager new];
    self.transferManager.s3 = self.s3;
    self.transferManager.delegate = self;
    self.transferManager.operationQueue.maxConcurrentOperationCount = 2;

我也尝试取消S3UploadTransferManager中的所有操作,所有操作都被取消了,但我无法进行另一次上传操作。任何想法为什么?以及如何正确取消上传操作。已经阅读了AWS文档很长一段时间了,仍然对此没有任何想法。

1 个答案:

答案 0 :(得分:1)

目前,S3TransferManager不支持取消/暂停/恢复功能。您需要使用AmazonS3ClientS3PutObjectRequest而不使用S3TransferManager来取消投放请求。