如何在单页应用程序中设置文件下载,而不会触发重新加载?
我遇到过在服务器上生成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’)经常触发弹出窗口拦截器等.其他文件类型可以导致上帝知道什么…