oss txt檔案 直接下載 (已解決)
阿新 • • 發佈:2021-09-28
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說明文件裡
知止而後有定;定而後能靜;靜而後能安;安而後能慮;慮而後能得。