H5页面实现下载文件兼容移动端

问题1:之前写的H5 blob方式下载 主要是以后台返回文件流的方式进行下载 pc端没有问题 发现有些手机不支持

移动端的下载的方式改成通过文件Url直接下载或打开 但是这种方式不太安全

方式一 iframe方式 发现有的手机图片下载不支持

function downloadHandle (url) {let iframe = document.getElementById('downloadIframe')if (iframe) {document.body.removeChild(iframe)}iframe = document.createElement('iframe')iframe.setAttribute('id', 'downloadIframe')iframe.style.display = 'none'iframe.src = "javascript: '<script>location.href=\"" + url + "\"<\/script>'"document.getElementsByTagName('body')[0].appendChild(iframe)}

方式二 from提交方式 发现有的手机图片下载是当前地址栏直接打开

function downloadHandle (url) {let form = document.getElementById('downloadForm')if (!form) {form = document.createElement('form')form.setAttribute('id', 'downloadForm')document.getElementsByTagName('body')[0].appendChild(form)}form.action = urlform.submit()}

综合以上问题 暂时根据文件的url截取一下文件的后缀名 图片格式的我暂时用window.open方式 其他格式用以上两种方式都可以。

哪位大佬有更好的意见请多多指教!

H5页面实现下载文件兼容移动端相关推荐

  1. H5 -- 微信h5页面中下载第三方app的方法

    需求:在微信h5页面中下载第三方app -- 安卓, 直接下载apk文件包:iphone,跳转AppStore 分析:微信不支持,在微信中屏蔽了apk文件的下载以及AppStore的跳转(且除非和TX ...

  2. [html] 制作一个页面时,需要兼容PC端和手机端,你是要分别做两个页面还是只做一个页面自适应?为什么?说说你的理由

    [html] 制作一个页面时,需要兼容PC端和手机端,你是要分别做两个页面还是只做一个页面自适应?为什么?说说你的理由 两个页面 pc端布局和交互行为跟移动端不一样, 两个页面反而更好维护 个人简介 ...

  3. 【日常点滴015】微信小程序直接下载文件到PC端

    微信小程序直接下载文件到PC端 方法一 : 方法二: 下载函数内的全部代码 附promise同时多张图片上传方法 方法一 : 需要点击下载 =>手动给定后缀名=>保存 文档给的方法,但是保 ...

  4. 使用微信API实现H5页面播放音频文件

    之前在处理H5页面播放音频文件的时候,总是需要搞一个https才能正常播放,一次无意浏览到了一个自动播放音频的页面,发现了使用微信Api可以不使用https也能播放音频文件.作为记录,简单页面实现如下 ...

  5. post请求下载文件(兼容IE)

    post请求下载文件(兼容IE) 有时候由于下载文件的url携带的参数过多,导致整个url长度超过get请求的上限,这个时候需要更换为post请求,具体实现如下 function downLoadFi ...

  6. 需求:在微信h5页面中下载第三方app —— 安卓, 直接下载apk文件包;iphone,跳转AppStore

    分析:微信不支持,在微信中屏蔽了apk文件的下载以及AppStore的跳转(且除非和TX有合作的应用,否则也不支持通过scheme跳转第三方app) 点击查看案例地址 变通方法: 一.借助TX的应用市 ...

  7. h5页面怎么处理文件流_H5页面实现下载文件(apk、txt等)的三种方式

    需求描述 ---->>>评论里面指出有的类型的文件下载不了,主要是因为下面的方法本质上都是改变location.href,当浏览器不能'理解'这种类型时,就会直接下载,反之,浏览器就 ...

  8. h5 ios Safair下载文件自动添加.html导致文件乱码问题,ios不能使用接口播放视频的问题

    需求:h5 页面 下载pdf,doc,docx,xlsx,xls 文件的功能 在安卓手机和 ios上的uc浏览器是可以正常的 下载或者预览的 但是在ios的Safair 下载时会被自动添加html尾缀 ...

  9. h5页面怎么处理文件流_一种H5页面效果生成视频文件的方法及系统与流程

    本发明涉及计算机技术领域,尤其涉及一种H5页面效果生成视频文件的方法及系统. 背景技术: 现有的视频合成方法均是将视频需要合成的各个元素拆分出来,针对每个元素进行合成视频,复杂度高,一旦需要添加新的动 ...

最新文章

  1. ASP.NET MVC 过滤器(三)
  2. 【正一专栏】孙杨累了就休息下吧!放弃也是一种完美!
  3. 一文解读:如何从 0 到 1 打造小程序爆款裂变
  4. 这个一夜暴富的秘诀你还不知道?
  5. 轻松实现突破网管限制(SoftEther实际应用)
  6. LeetCode刷题——整数反转
  7. 看看async,await 是如何简化异步的调用WCF!
  8. java设置首页跳转_SpringBoot设置首页(默认页)跳转功能的实现方案
  9. 大佬对大佬,史诗级面试现场!!!
  10. 遇见 | 大咖:对话Oracle北美数据库研发领袖,你来不来?
  11. ubuntu18.04新体验
  12. 电压采集采样电路设计
  13. 【JavaWeb】如何优雅的实现第三方开放api接口签名(有状态/无状态)
  14. hotmail邮箱登录服务器,hotmail邮箱登录页面在哪 hotmail邮箱账号登录设置教程
  15. CSS 权威指南 读书笔记(二)
  16. 高通平台耳机类型识别
  17. Android华为平行视界/小米横屏模式适配(左右分屏)
  18. php购物车订单业务逻辑,购物车业务逻辑
  19. 题解报告——聪聪与可可
  20. 航海王燃烧意志服务器响应格式非法,航海王燃烧意志充值异常怎么处理 航海王燃烧意志充值异常申诉方法_斗蟹游戏网...

热门文章

  1. 3.图解排序算法(三)之堆排序
  2. MaxKey单点登录认证系统v3.5.2GA发布
  3. 密码学系列 - 默克尔路径
  4. hive 莫名其名爆出无法识别hadoop 版本
  5. 数字化变革与冲突下,如何运用 BI 打造经营分析系统!
  6. 用友如何控制打印次数
  7. AXURE RP9——SVG图片的操作设置
  8. 安装2019Pycharm最新版本-详细教程--激活码
  9. 运用分支定界法(分支限界法)解决01背包问题
  10. 凸轮表(ECAM)的本质-运动控制轨迹规划(线性插值、3次样条插值、5次样条插值)