存储在Amazon S3中的Java图像上传

zd287kbt  于 2023-02-28  发布在  Java
关注(0)|答案(3)|浏览(285)

很难找到一些示例来展示我如何使用Java允许用户将图像上传到Amazon S3。
流程为:
1.用户位于具有文件输入表单元素的HTML表单上。
1.此表单将所选图像提交给Servlet。
1.该Servlet处理图像并将其存储在S3中。
有人知道有什么好的链接/教程概述了执行此操作的示例代码吗?

o3imoua4

o3imoua41#

对于第三点:

  • 抓取jets3t
  • 它的教程很简单。下面是我正在使用的一个片段:
S3Object fileObject = new S3Object(path);
fileObject.setDataInputStream(is);
s3service.putObject(bucketName, fileObject);

对于前两点-看这个问题

9rnv2umw

9rnv2umw2#

建议您使用html amazon API来完成此操作。流式传输有点复杂,在大多数情况下您不需要它。

2ul0zpep

2ul0zpep3#

您还可以使用一个简单的表单将文件上传到S3 Bucket。
示例形式:

<html> 
  <head>
    <title>S3 POST Form</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  </head>

  <body> 
    <form action="https://s3-bucket.s3.amazonaws.com/" method="post" enctype="multipart/form-data">
      <input type="hidden" name="key" value="uploads/${filename}">
      <input type="hidden" name="AWSAccessKeyId" value="YOUR_AWS_ACCESS_KEY"> 
      <input type="hidden" name="acl" value="private"> 
      <input type="hidden" name="success_action_redirect" value="http://localhost/">
      <input type="hidden" name="policy" value="YOUR_POLICY_DOCUMENT_BASE64_ENCODED">
      <input type="hidden" name="signature" value="YOUR_CALCULATED_SIGNATURE">
      <input type="hidden" name="Content-Type" value="image/jpeg">
      <!-- Include any additional input fields here -->

      File to upload to S3: 
      <input name="file" type="file"> 
      <br> 
      <input type="submit" value="Upload File to S3"> 
    </form> 
  </body>
</html>

相关问题