当前位置:   article > 正文

亚马逊云S3上传文件返回URL失效问题_亚马逊s3返回图片地址错误

亚马逊s3返回图片地址错误

背景:使用亚马逊S3上传文件,但是返回的文件URL连接有时效性,一旦超过时间就会返回错误Access Denied

修改文件有效性6天代码如下:

  1. public static String uploadFileForSafe(MultipartFile file){
  2. try{
  3. String fileName = file.getOriginalFilename();
  4. ObjectMetadata metadata = new ObjectMetadata();
  5. metadata.setExpirationTime(DateUtils.str2date("2050-01-01 00:00:00", DatePatternEnum.yyyyMMddHHmmss));
  6. PutObjectRequest objectRequest = new PutObjectRequest(safebucketName,fileName,file.getInputStream(),metadata);
  7. objectRequest.getRequestClientOptions().setReadLimit(51200000);//设置大小限制50M
  8. conn.putObject(objectRequest);
  9. // 修改对象的访问控制权限
  10. conn.setObjectAcl(safebucketName, fileName, CannedAccessControlList.PublicRead);
  11. // 生成对象下载链接(带签名)
  12. GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(safebucketName, fileName);
  13. request.setExpiration(DateUtils.getTodayDayAdd(6));//文件6天有效期
  14. String path = conn.generatePresignedUrl(request).toString();
  15. System.out.println("上传私密文件路径:"+path);
  16. return path;
  17. }catch (Exception e){
  18. System.out.println(file.getName()+"上传私密文件失败!!!");
  19. e.printStackTrace();
  20. }
  21. return null;
  22. }

 

问题解决:

最后发现只有开放存储桶的权限,公有读私有写,然后通过拼接固定的存储桶的url+文件名来使URL一直访问有效。

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

闽ICP备14008679号