h5 ios Safair下载文件自动添加.html导致文件乱码问题,ios不能使用接口播放视频的问题
需求:h5 页面 下载pdf,doc,docx,xlsx,xls 文件的功能
在安卓手机和 ios上的uc浏览器是可以正常的 下载或者预览的
但是在ios的Safair 下载时会被自动添加html尾缀,导致下载后是乱码的 不能使用的文件
前端尝试了不用的下载方式的代码
// 下载文件download (url) {var $a = document.createElement('a');$a.setAttribute("href", url);$a.setAttribute("download", "");var evObj = document.createEvent('MouseEvents');evObj.initMouseEvent('click', true, true, document.defaultView, 0, 0, 0, 0, 0, false, false, false, false, 0, null);$a.dispatchEvent(evObj);// var src = url// var iframe = document.createElement('iframe'); iframe.style.display = 'none';// iframe.src = "javascript: '<script>location.href=\"" + src + "\"</script>'";// document.getElementsByTagName('body')[0].appendChild(iframe);//window.open(url, '_blank')},
仍然没有解决这个棘手的问题
后来后端介入并解决了
思路是前端判断是否在ios的Safair 的浏览器上
//判断是否Safari浏览器
let is_Safari = false
var ua = navigator.userAgent.toLowerCase();
//判断是不是在iPhone的Safair浏览器打开的本页面
if (ua.indexOf('applewebkit') > -1 && ua.indexOf('mobile') > -1 && ua.indexOf('safari') > -1 &&ua.indexOf('linux') === -1 && ua.indexOf('android') === -1 && ua.indexOf('chrome') === -1 &&ua.indexOf('ios') === -1 && ua.indexOf('browser') === -1) {// document.write("【是 Safari】");is_Safari = true
}
然后在调用后端指定的接口
后端的处理思路大致是 响应了 有.html尾缀的接口
成功的下载或预览了各类文件
ios不能使用接口播放视频的问题
在video 的 src 是用 /file/${id}
这样的方式访问,在安卓 手机播放没问题,在ios手机播放不出来
经过后端的处理,思路大致是,不分段传输,解决了在ios视频播放的问题
h5 ios Safair下载文件自动添加.html导致文件乱码问题,ios不能使用接口播放视频的问题相关推荐
- sublime 设置新建文件自动添加author(作者)等文件头信息
很多时候, sublime 自带自动添加文件头信息, 但是并不是我们想要比如下面这样的: 新建一个python文件 自动添加的author 信息 == 上面并不是我想要的, 我想要下面这样的效果: = ...
- mac压缩文件自动添加.DS_Store
mac系统压缩文件自动添加缓存文件 今天给生产环境发了一个增量更新包,由于原始的jar包太大,为了方便传输,便将需要更新的文件打包成zip格式,然后在生产上把更新的文件打包更新到jar中.结果客户按照 ...
- python建立py文件夹过程_Pycharm创建python文件自动添加日期作者等信息(步骤详解)...
百度AI接口的调用方法不必多介绍.官网地址 人流量统计新建AipBodyAnalysisfrom aip import AipBodyAnalysis""" 你的 APP ...
- C# 在类文件自动添加文件注释的方法
对于vs2013来讲, 步骤: 1.VS2013 中找到(安装盘符以C盘为例)C:\ProgramFiles(x86)\Microsoft VisualStudio12.0\Common7\IDE\I ...
- 如何给word文件自动添加目录?
大学生朋友.使用word文档的朋友,当你们写完了一份word文件之后发现还要添加一个目录,自己手动添加目录是不是很麻烦,而且,当我们改变了内容之后,文件的页码也会发生改变,那么目录也就需要跟着一起更改 ...
- 为js和css文件自动添加版本号
参考:http://flyash.itcao.com/post_914.html and http://www.particletree.com/notebook/automatically-v ...
- 编写acad.rx文件自动加载arx文件
加载.arx文件,最方便的方法便是,在acad.rx 文件中填写.arx文件的路径,这样点击按F5调试ObjectArx程序时,就会直接启动AutoCAD2002并自动加载.arx文件,再在CAD的命 ...
- php上传文件自动删除,jsp-解决文件上传后重启Tomcat时文件自动删除问题
吼吼,我遇到的问题是这样的...... 我写了一个图片上传的方法,上传时,判断没有这个目录就自动建立一个.然后开始上传图片,能成功,能在服务器找到文件夹和相应的文件.但是,重启项目,或者清理缓存之后, ...
- idea新增文件自动添加到版本控制
在idea中,使用svn提交时可能会出现 预期文件没出现在提交目录里. 是因为没有把新建文件添加到版本控制里. 解决办法:右键选择文件→subversion→add to vcs. 自动把新文件添加到 ...
最新文章
- appium java类库下载,appium 简明教程 (4)——appium client 的安装
- 解决微信小程序配置https不成功问题
- Email 之父去世:他让邮件有了 @
- 使用jdbc操作mysql数据库_java使用JDBC操作MYSQL数据库
- Windows消息机制详解
- 给后辈的一点建议,面试建议
- C++求复数的角度_11.初中数学:方程5x2m=4x的解,在2与10之间,怎么求m的取值范围?...
- kubernetes精华问答 | Swarm和K8S的共同点有哪些?
- 20175305张天钰《java程序设计》第七周学习总结
- Android 图片压缩器
- OpenLDAP 2.4.44 安装 + phpLDAPadmin 安装
- 关于数组指针的一道面试题
- 【HDOJ】1504 Disk Tree
- qt在window实现二维码识别
- Mac 本地起一个html 服务
- 抑郁症自测量表测试软件,抑郁自评:医用抑郁自测量表,快来测一测你的抑郁指数是多少...
- Android 实现电话拨号界面带按键声demo
- 什么是firmware?
- Foobar 2000 EIKO 增强版 取消“最小化到托盘”设置
- android 网络图片工具类,分享一个Android图片模糊的工具类