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));
    }
    ...
}

 

 

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