ios - 如何取消 AWSTask<AWSS3TransferUtilityUploadTask *> 请求?

标签 ios swift iphone awss3transfermanager

我正在 AWSS3 服务器上传一个像图片这样的文件,我无法取消请求。

我尝试在上传任务开始后取消请求。我正在使用 task.result.cancel() 方法来取消任务。

let awsTransferUtility = AWSS3TransferUtility.s3TransferUtility(forKey: AWSConfiguration.callbackKey)

        let task = awsTransferUtility!.uploadFile(url,
                                                  bucket: bucket,
                                                  key: key,
                                                  contentType: file.type.contentType,
                                                  expression: expression,
                                                  completionHandler: completionHandler)
            .continueWith(block: { (task) -> Any? in
                if task.error != nil {
                    completion(nil, task.error)
                }
                return nil
            }) as! AWSTask<AWSS3TransferUtilityUploadTask>

我只想取消请求,文件不会上传到服务器。

最佳答案

根据docs , 你可以获得 AWSS3TransferUtilityUploadTask 的一个实例通过调用 task.result

Returns an instance of AWSTask. On successful initialization, task.result contains an instance of AWSS3TransferUtilityUploadTask.

然后您应该能够在 AWSS3TransferUtilityUploadTask 实例上调用 cancel

let task: AWSTask<AWSS3TransferUtilityUploadTask> = ...
let uploadTask: AWSS3TransferUtilityUploadTask = task.result
uploadTask.cancel()

关于ios - 如何取消 AWSTask<AWSS3TransferUtilityUploadTask *> 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56494836/

相关文章:

swift - 如何跟踪 rxSwift 是否更改了 textField 值?

iphone - 用户与 uiview 和动画完成 block 的交互

objective-c - 为什么我的应用程序似乎在内存中保存图像?

ios - Objective-C :带有 UIImage 的 PushViewController 不工作

ios - NSInvalidArgumentException,将无法识别的选择器发送到实例的原因

ios - 如何在静态单元格中向 UITableViewController 添加按钮?

ios - 如何同时使用水平和垂直 ScrollView (快速)

ios - 如何创建 ReloadRow 动画

ios - 编译Tux Rider

iPhone map 套件 : How can I get a real business name/address from a longitude/latitude?