javascript – 下载SPA中的文件

前端之家收集整理的这篇文章主要介绍了javascript – 下载SPA中的文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在单页应用程序中设置文件下载,而不会触发重新加载?

我遇到过在服务器上生成PDF文件并需要提供给客户端进行下载的情况.将其作为application / octet-stream发送在SPA中没有任何用处,因为files can’t be sent over AJAX.

我想出的最好的方法是将生成文件保存在服务器上的临时文件夹中,将文件的URL发送到客户端并执行window.open(url).问题是不同的浏览器以不同的方式打开文件.例如,Firefox默认使用PDF.js在同一个选项卡中打开PDF,从而破坏了整个SPA的想法.但是做一个window.open(url,’_ blank’)经常触发弹出窗口拦截器等.其他文件类型可以导致上帝知道什么…

在SPA中下载文件是否有跨浏览器,安全,通用的方法

解决方法

在SPA应用程序中,我写了一段时间后,window.location.href =’…’完成了大多数浏览器的操作并正常工作,但正在下载的页面的contentType和content-disposition标题是最大的区别.如果浏览器可以将文件识别为要下载的类型,则SPA可能不会在重定向时中断. 另外,像Angular这样的快速注释SPA框架有时允许在其标签上使用target =’_ new’和target =’_ self’而不会干扰路线等.

猜你在找的JavaScript相关文章