javascript 您所在的位置:网站首页 命运2dim手机端下载 javascript

javascript

#javascript| 来源: 网络整理| 查看: 265

目前问题已经得到解决,基本上适配了ios浏览器和安卓浏览器,在此总结一下:1.前端使用Blob对象进行数据处理时,pc端是可以实现的,但是在移动端有兼容性问题,目前测试的情况是安卓手机的chrom和火狐是可以下载的;但部分安卓自带的原生浏览器会出现文件不识别的情况,会将下载的文件重新命名,命名的名字为window.URL.createObjectURL(blob)创建出来的地址中的字符串,如果是使用插件下载,'js-file-download'会将下载下来的文件改为以.bin为后缀名,'file-saver'会将文件后缀名改为.txt;自己构建a标签,创建blob对象进行下载,指定文件类型,var blob = new Blob([res.data], {type: "application/x-ica"}),可以改正下载文件的后缀名,但是文件名无法更改,大概是因为a标签的download属性在移动端兼容性不好的问题;ios手机浏览器,目前测试过Safari和chrom,都会直接打开window.URL.createObjectURL(blob)创建出来的链接地址,会出现地址不识别,或者直接以.txt打开文件的情况;2.使用a标签直接下载,目前测试过pc端和ios端,pc端可以正常下载,但是在ios端会将文件以txt文件的形式打开,这个目前还不太清楚是不是后台没有正确指定MIME类型的原因造成的;但是后台将文件改为.zip结尾的情况,在ios浏览器可以以.zip的形式下载,下载完后选择保存到icloud,就可以在手机中的‘文件’中找到下载的zip;3.使用window.open方式下载,这个是目前找到兼容性最好的方式,pc端和安卓、ios都测试过,都可以正常下载,且文件命名和后缀都正确,但是针对IOS浏览器时,要正确指定MIME类型,不然IOS会将文件以.txt的形式打开;.ica文件的MIME类型为"application/x-ica";希望以上对各位有点帮助。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有