繁体   English   中英

在我的S3存储桶将不会在浏览器中打开图片,他们只会下载

[英]Images in my s3 bucket will not open in the browser, they will only download

如何在浏览器的s3存储桶中打开图像?

我已经设置了一个Amazon s3存储桶来托管我的Web应用程序的图像,我遇到的问题是,当我单击图像的链接时,它将下载该图像而不是在浏览器中显示该图像。

  1. 我已将元数据设置为“内容类型:图片/ *”
  2. 我已将权限设置为公开

这是我正在使用的代码:

private void uploadFileTos3bucket(String fileName, MultipartFile file) 
{ 
    try
        (InputStream is = file.getInputStream()) 
            { ObjectMetadata metadata = new ObjectMetadata(); 
              metadata.setContentLength(file.getBytes().length); 
              metadata.setLastModified(new Date()); 
              metadata.setContentType("image/*"); s3client.putObject(new 
              PutObjectRequest(bucketName, fileName, is, metadata).withCannedAcl(CannedAccessControlList.PublicRead)); }        
              catch(IOException e) { e.printStackTrace(); 
            } 
    }

有人还有其他想法或解决方案吗?

考虑到S3中的图像为.png格式,请将您的contenttype更改为image/png 您需要按照S3存储桶中的设置来设置适当的内容类型。 例如,如果它是文本,则将其设置为text/plain 对于图像类似,将其设置为image/png 另外,您的文件内容类型不应为binary/octet-stream ,否则将不会打开,而是先下载。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM