问题描述:
做项目时需要上文文件到华为云服务器上,但是下载下来的时候,服务器只提供了一个下载链接,这样下载doc,xls文件的时候没有问题,可以正常下载下来,但是txt,pdf等文件就是浏览器直接打开的。浏览器打开txt文件就会有编码问题。
解决过程:
网上搜了很多方法,但是都没有效果,会有各种各样其他的问题。比如有的说用浏览器自带的download属性,试了一下还是不能下载txt文件,还有的说可以请求这个url地址,把拿回来的数据自己封装成文件流,但是这样做会有跨域的问题。
因为项目特殊,我只能再试试jsonp解决跨域问题,发现又报了超时
问题解决:
最后尝试这个问题有两个解决方法,第一个就是协调后台,让后台开发重新写个接口,他们直接传个文件流过来前台接收,或者解决跨域的问题,这样就能把txt文件直接下载下来;第二个就是上传txt文件的时候指定文件的保存格式为带有 BOM 的 UTF-8编码格式保存,这样浏览器打开就不会乱码啦!