javascript 如何下载一个excel文件 ?

 <form method="get" action="/app/PoiTemplate/NFC.xlsx">
                        <button type="submit">Download!</button>
                    </form>
window.open("/app/PoiTemplate/NFC.xlsx") 

上面两种方式都把文件给打开了, 还有其他下载方法吗 ?

阅读 12.4k
5 个回答

你的问题并不在前端,换一种思路,通过后端下载,随便在前端发起一个get请求,在后端设置返回头 Content-Disposition: Attachment; filename="文件名",并以流的形式,浏览器自然后弹出文件选择框。这儿有个java例子https://github.com/treeandgra...
第二种思路:
https://segmentfault.com/q/10...

虽然IE不识别download属性,但是IE下它任然是个链接,所以我们可以加一个 target="black" 属性,来打开新窗口,实现下载,所以可以实现如下:

<a href="nfc.xlsx" download="nfc.xlsx" target="_blank">下载</a>

以我的经验,你这个问题应该是出在浏览器上,换个浏览器试试

javascrit的特点在于DOM和BOM的操作和引用,文件下载属于Meta的特性,javascript无权操作,让后端开发人员设置输出的Head Meta即可。

<a href="xx.xlsx"></a>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题