我有一个 MVC Controller ,它将通过 ajax 调用将 base64 pdf 字符串发送回客户端。
以下行将在 Chrome 和 FF 的单独窗口中显示 pdf。
<a href=data:application/pdf;base64," + data.PDFResult + " download title='Download pdf document' />
这在 IE 中不起作用,而且据我所知,它似乎不受支持。
所以。如何让用户下载 PDF,而不是在新窗口中显示 PDF?
更新:
- 尝试通过 AJAX 将 byte[] 发送回客户端...
我将 JS 更改为:
var pdfWin = window.open("data:application/octet-stream, " + escape(data), '', 'height=650,width=840');
和我的 Controller :
[HttpPost]
public byte[] GetPDFc(MyObject myData)
{
var pdfBytes = MethodToGetPDF(myData);
return (pdfBytes);
}
最佳答案
IE does not support download attribute
而是使用带有文件名的 application/octet-stream 从服务器提供文件
Force PDF download 'only' in Internet Explorer
<小时/>下载属性应在 Edge 浏览器上运行 -
关于javascript - 如何在 IE 上强制下载 pdf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41167024/