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