阿里oss上传的txt文件浏览器直接打开会乱码

阿里oss上传的txt文件浏览器直接打开会乱码

原因:

    txt文件在windows中默认采用ANSI编码方式。
    我们是采用阿里云oss方式存储文件的,需要下载时,在前端自定义a标签进行下载。
    浏览器默认直接打开txt文件,但浏览器的编码是utf-8,这样就会显示乱码
    可以通过在上传时指定Content-Type的值来解决这个问题为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

你可能感兴趣的:(阿里云,java,阿里云)