美文网首页
00002.Java S3 upload

00002.Java S3 upload

作者: 笑着字太黑 | 来源:发表于2023-06-20 10:13 被阅读0次
使用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)

相关文章

网友评论

      本文标题:00002.Java S3 upload

      本文链接:https://www.haomeiwen.com/subject/ddrlydtx.html