我有一个小型Java程序,可以让用户从Amazon S3上传/下载文件。我有一个“取消”按钮,想要在按下此按钮后取消传输。
看起来下载时有一个abort()
方法似乎有效,但是我不知道如何中止上传。我正在使用TransferManager上传文件。我已尝试与transferManager.shutdownNow()
一起调用transferManager.abortMultipartUploads()
,但该文件仍显示在S3管理控制台中,就好像传输未中止一样。难道我做错了什么?
答案 0 :(得分:1)
在我的程序中,我调用transferManager.upload()
方法上传PutObjectRequest
对象,然后返回Upload
对象,其中包含abort()
API。所以我只需致电upload.abort()
取消转移。我希望这会有所帮助。:)
答案 1 :(得分:-1)
我建议您保留所有取消请求的队列,并在文件完成上传到S3后,对该S3对象执行删除操作,并从取消队列中删除该文件。这可能是真正“取消”上传的最简单方法。