admin管理员组

文章数量:1545265

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 = url
   form.submit()
 }

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

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

本文标签: 页面文件