oss txt文件 直接下載 (已解決)


txt文件在windows中默認采用ANSI編碼方式。

我們是采用阿里雲oss方式存儲文件的,需要下載時,在前端自定義a標簽進行下載。

瀏覽器默認直接打開txt文件,但瀏覽器的編碼是utf-8,這樣就會顯示亂碼。

找了很多方案:

1、在a標簽中添加download屬性。(跨域后該屬性會失效,同源可以)

2、(推薦)在后端上傳文件時,增加application/octet-stream屬性。

public void uploadStream(InputStream inputStream, String objectName) {
    OSS oss = new OSSClientBuilder().build(endpoint, accessKey, accessSecret);
    PutObjectRequest request = new PutObjectRequest(bucket, objectName, inputStream);
    ObjectMetadata metadata = new ObjectMetadata();
    metadata.setContentType("application/octet-stream");
    request.setMetadata(metadata);
    oss.putObject(request);
    oss.shutdown();
}

文檔地址:https://help.aliyun.com/document_detail/106802.html

吐槽:竟然在Android SDK說明文檔里


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM