Java 中止AWS S3上载

Java 中止AWS S3上载,java,upload,amazon-s3,amazon-web-services,abort,Java,Upload,Amazon S3,Amazon Web Services,Abort,我有一个小的Java程序,它允许用户向AmazonS3上传/下载文件。我有一个“取消”按钮,按下此按钮后,我想取消传输 下载时似乎有一个abort()方法,该方法似乎有效,但我不确定如何中止上传。我正在使用TransferManager上传文件。我尝试调用了transferManager.shutdownNow()以及transferManager.abortMultipartUploads(),但是该文件仍然显示在S3管理控制台中,就好像传输没有中止一样。我做错什么了吗 我建议您保留一个包含所

我有一个小的Java程序,它允许用户向AmazonS3上传/下载文件。我有一个“取消”按钮,按下此按钮后,我想取消传输


下载时似乎有一个
abort()
方法,该方法似乎有效,但我不确定如何中止上传。我正在使用TransferManager上传文件。我尝试调用了
transferManager.shutdownNow()
以及
transferManager.abortMultipartUploads()
,但是该文件仍然显示在S3管理控制台中,就好像传输没有中止一样。我做错什么了吗

我建议您保留一个包含所有取消请求的队列,一旦文件完成上传到S3,您就可以对该S3对象执行删除操作,并将该文件从取消队列中删除。这可能是真正“取消”上载的最简单的方法。

在我的程序中,我调用
transferManager.upload()
方法上载
PutObjectRequest
对象,然后它返回一个
upload
对象,其中包含
abort()
API。所以我只需调用
upload.abort()
来取消传输。我希望这有帮助。:)