前端js 文件下载

在app中下载不行是因为打包的apk有问题、建议使用hbuilderX进行打包app

1、使用a 标签(浏览器中可以, 在app中不行没有反应)

<a href="http://192.168.0.248:8896/upfiles/gzg.xlsx" download target="_blank" rel="noopener noreferrer">下载测试 xlsx</a>

2、使用iframe(浏览器中可以, 在app中不行,没有反应)

<button @click="handleIframeDownload">Iframe方法下载</button>
handleIframeDownload(url) {
   
  var src = window.global.baseUrl + '/file/doDownloadFile.json?fileName=' + 'test.doc'
  var iframe = document.createElement('iframe')
  iframe.style.display = 'none'
  iframe.src = "javascript: '<script>location.href=\"" + src + "\"<\/script>'"
  document.getElementsByTagName('body')[0].appendChild(iframe)
},

3、使用form (浏览器中打开不带参数 ,下载不行的,app中更不行)

浏览器中打开不带参数 原因

使用form (直接给文件地址浏览器中可以下载开 ,app中更不行)

(文件地址 代码中 src=‘http://192.168.0.248:8896/upfiles/test.doc’)

<button @click="handleFormDownload">form方法下载</button>
浏览器中打开不带参数
handleFormDownload(url) {
   
  var src = window.global.baseUrl + '/file/doDownloadFile.json?fileName=' + 'test.doc'
  var form = document.createElement('form')
  form.action = src
  document.getElementsByTagName('body')[0].appendChild(form)
  form.submit()
}
浏览器中打开带参数 (方法4同理修改)
handleFormDownload(url) {
   
  var src = window.global.baseUrl + '/file/doDownloadFile.json'
  var form = document.createElement('form')
  var input = document.createElement('input')
  input.setAttribute('name', 'fileName')
  input.setAttribute('type', 'hidden')
  input.setAttribute('value', 'test.doc')
  form.appendChild(input)
  form.action = src
  document.getElementsByTagName('body')[0].appendChild(form)
  form.submit()
}

4、使用 iframe + form 方式(浏览器中打开不带参数 ,下载不行的,app中更不行)(同方法三)

<button @click="handleFormIFrameDownload">form and iframe 方法下载</button>
handleFormIFrameDownload(url) {
   
  var src = window.global.baseUrl + '/file/doDownloadFile.json?fileName=' + 'test.doc'
  var form = document.createElement
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值