minio —> AWS上传文件设置 Content Type问题

目前项目的S3上传后的图片提供下载功能,看了文档相关介绍

ContentType: file.type // 设置MIME多用途互联网邮件扩展类型, 注释掉是下载图片链接,不注释是阅览图片链接

相关解释如下:

上传到AWS S3服务器上的文件有个问题,在浏览器粘贴资源地址,有的文件直接在浏览器里预览,有的则是直接下载的。用curl -I 查看了下不同文件的http响应头,显示的content type一种是application/otcet-stream(有的显示application/x-download),另一种则是application/pdf。响应头里content type为application/otcet-stream或application/x-download的文件,浏览器直接当作文件流直接下载下来,content type为application/pdf的文件,如果浏览器设置了pdf预览,则以预览形式打开。

sdk帮忙设置了content type,代码片段见com.amazonaws.services.s3.AmazonS3Client类的public PutObjectResult putObject(PutObjectRequest putObjectRequest) 方法

public PutObjectResult putObject(PutObjectRequest putObjectRequest) throws AmazonClientException, AmazonServiceException {
    ...
    // Only set the content type if it hasn't already been set
    if (metadata.getContentType() == null) {
        metadata.setContentType(Mimetypes.getInstance().getMimetype(file));
    }
    ...
}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章