javascript 如何下载一个excel文件 ?
问题描述
<form method='get' action='/app/PoiTemplate/NFC.xlsx'><button type='submit'>Download!</button> </form>
window.open('/app/PoiTemplate/NFC.xlsx')
上面两种方式都把文件给打开了, 还有其他下载方法吗 ?
问题解答
回答1:<a href='https://www.haobala.com/wenda/nfc.xlsx' download='nfc.xlsx'>下载</a>
下面是php 的header,自己试试
header('Content-Type: application/vnd.ms-excel; charset=UTF-8' ); header('Pragma: public' ); header('Expires: 0' ); header('Cache-Control: must-revalidate, post-check=0, pre-check=0' ); header('Content-Type: application/force-download'); header('Content-Type: application/octet-stream' ); header('Content-Type: application/download' ); header('Content-Disposition: attachment;filename=11.xls ' ); header('Content-Transfer-Encoding: binary ' ); 回答2:
虽然IE不识别download属性,但是IE下它任然是个链接,所以我们可以加一个 target='black' 属性,来打开新窗口,实现下载,所以可以实现如下:
<a href='https://www.haobala.com/wenda/nfc.xlsx' download='nfc.xlsx' target='_blank'>下载</a>回答3:
你的问题并不在前端,换一种思路,通过后端下载,随便在前端发起一个get请求,在后端设置返回头 Content-Disposition: Attachment; filename='文件名',并以流的形式,浏览器自然后弹出文件选择框。这儿有个java例子https://github.com/treeandgra...第二种思路:/q/10...
回答4:以我的经验,你这个问题应该是出在浏览器上,换个浏览器试试
回答5:javascrit的特点在于DOM和BOM的操作和引用,文件下载属于Meta的特性,javascript无权操作,让后端开发人员设置输出的Head Meta即可。
回答6:<a href='https://www.haobala.com/wenda/xx.xlsx'></a>
相关文章:
1. vue.js - linux下怎么使用vue-cli的vue命令2. javascript - 如图,百度首页,查看源代码为什么什么都没有?3. 怎样在java中查询mysql得到如下的json格式的结果?4. javascript - js的string数据类型,这段表述是什么意思?5. 微信内网页上传图片问题6. webpack - vue-cli写的项目(本地跑没有问题),准备放到Nginx服务器上,有什么配置需要改的?还有怎么部署?7. 极光推送 - Android app消息推送 百度 极光 个推 信鸽哪个好一些?8. 什么是前后端分离?用vue angular等js框架就能实现前后分离了吗?9. ddos - apache日志很多其它网址,什么情况?10. android - 百度地图加载完成监听
