当前位置:   article > 正文

Java-实现向AWS的S3上传文件_java上传图片到s3桶

java上传图片到s3桶

Python 实现方式:https://blog.csdn.net/qq_33811662/article/details/80710268

使用 java 包去连接 s3 并且向 s3 上传文件,需要有 s3 的包,此处我用的是 maven 项目去导入 s3 的包,在 pom.xml 中加入如下内容

  1. <dependency>
  2. <groupId>com.amazonaws</groupId>
  3. <artifactId>aws-java-sdk-s3</artifactId>
  4. <version>1.11.347</version>
  5. </dependency>


此时 maven 会自动导入相关的依赖包:

然后需要有一个 aws 的 s3 权限的一个 IAM 帐号,需要得到 access_key 和 secret_key

最后是代码部分:

  1. import java.io.File;
  2. import java.io.IOException;
  3. import java.net.URL;
  4. import com.amazonaws.AmazonClientException;
  5. import com.amazonaws.AmazonServiceException;
  6. import com.amazonaws.auth.BasicAWSCredentials;
  7. import com.amazonaws.regions.Region;
  8. import com.amazonaws.regions.Regions;
  9. import com.amazonaws.services.s3.AmazonS3;
  10. import com.amazonaws.services.s3.AmazonS3Client;
  11. import com.amazonaws.services.s3.model.CannedAccessControlList;
  12. import com.amazonaws.services.s3.model.GeneratePresignedUrlRequest;
  13. import com.amazonaws.services.s3.model.PutObjectRequest;
  14. import com.amazonaws.services.s3.transfer.TransferManager;
  15. public class UploadTest {
  16.     AmazonS3 s3;
  17.     String AWS_ACCESS_KEY = "xxxxxxxx"; // 【你的 access_key】
  18.     String AWS_SECRET_KEY = "xxxxxxxx"; // 【你的 aws_secret_key】
  19.     String bucketName = "xxxxxxx"; // 【你 bucket 的名字】 # 首先需要保证 s3 上已经存在该存储桶
  20.     static {
  21.         s3 = new AmazonS3Client(new BasicAWSCredentials(AWS_ACCESS_KEY, AWS_SECRET_KEY));
  22.         s3.setRegion(Region.getRegion(Regions.US_EAST_1)); // 此处根据自己的 s3 地区位置改变
  23.     }
  24.     public String uploadToS3(File tempFile, String remoteFileName) throws IOException {
  25.         try {
  26.             String bucketPath = bucketName + "/upload" ;
  27.             s3.putObject(new PutObjectRequest(bucketPath, remoteFileName, tempFile)
  28.                     .withCannedAcl(CannedAccessControlList.PublicRead));
  29.             GeneratePresignedUrlRequest urlRequest = new GeneratePresignedUrlRequest(bucketName, remoteFileName);
  30.             URL url = s3.generatePresignedUrl(urlRequest);
  31.             return url.toString();
  32.         } catch (AmazonServiceException ase) {
  33.             ase.printStackTrace();
  34.         } catch (AmazonClientException ace) {
  35.             ace.printStackTrace();
  36.         }
  37.         return null;
  38.     }
  39.     @Test
  40.     public void test(){
  41.         File uploadFile = new File("c:/test.txt");
  42.         String uploadKey = "test"
  43.         uploadToS3(uploadFile,uploadKey);
  44.     }
  45. }


原文链接:https://blog.csdn.net/qq_33811662/article/details/80710318

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/285846
推荐阅读
相关标签
  

闽ICP备14008679号