使用TransferManager上传,可以abort取消
public [String](https://www.google.com/search?hl=en&q=allinurl%3Adocs.oracle.com+javase+docs+api+string) uploadFileParallelized(MultipartFile file) {
[String](https://www.google.com/search?hl=en&q=allinurl%3Adocs.oracle.com+javase+docs+api+string) fileName;
TransferManager transferManager =
TransferManagerBuilder.standard().withS3Client(this.s3Client).build();
try {
[String](https://www.google.com/search?hl=en&q=allinurl%3Adocs.oracle.com+javase+docs+api+string) extension = getExtensionFromBytes(file.getBytes());
fileName = getFileName(extension);
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentLength(file.getSize());
metadata.setContentType(file.getContentType());
Upload upload = transferManager.upload(getBucketName(), this.folder + fileName,
file.getInputStream(), metadata);
// upload.abort();
upload.waitForCompletion();
} catch ([IOException](https://www.google.com/search?hl=en&q=allinurl%3Adocs.oracle.com+javase+docs+api+ioexception) | AmazonClientException | [InterruptedException](https://www.google.com/search?hl=en&q=allinurl%3Adocs.oracle.com+javase+docs+api+interruptedexception) e) {
throw new FileUploadException("Couldn't upload the file to S3:" + e.getLocalizedMessage(),
e);
} finally {
transferManager.shutdownNow(false);
}
return fileName;
}
关于java:使用TransferManager将大文件上传到Amazon S3存储桶的最佳方法 | 码农家园 (codenong.com)
TransferManager (AWS SDK for Java - 1.12.506) (amazon.com)
===============================================
流对流保存上传文件
public ActionResult ProcessUpload(string filename)
{
using (var inputStream = Request.InputStream)
{
using (var flieStream = new FileStream(@"c:\temp\" + filename, FileMode.Create))
{
inputStream.CopyTo(flieStream);
}
}
return Json(new { success = true });
}
===============================================
S3AsyncClient (AWS SDK for Java - 2.20.106) (amazonaws.com)
============================
java 在S3中存储字节内容 _大数据知识库 (saoniuhuo.com)
(22条消息) Java对象存储OSS(AWS S3)上传和下载文件_java s3下载文件_qq_39768404的博客-CSDN博客
AmazonS3Client (AWS SDK for Java - 1.12.503)
PutObjectResult putObject(String bucketName, String key, InputStream input, ObjectMetadata metadata)
网友评论