javascript - 如何在 IE 上强制下载 pdf?

标签 javascript jquery pdf

我有一个 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 浏览器上运行 -

http://caniuse.com/#feat=download

enter image description here

关于javascript - 如何在 IE 上强制下载 pdf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41167024/

相关文章:

javascript - document.body.clientHeight 报告的高度比预期小得多

javascript - 如何使用 JQuery/JS 获取给定 url(外部 url)的网页标题

jquery - 作用域 CSS 重置

jquery - 为什么 jQuery 插件中是 this 而不是 $(this)

c# - 使用 itextsharp 从 PDF 中提取图像

javascript - 生成嵌入 PDF 的直接链接

java - 由于某种原因,首页的背景颜色不正确

javascript - 如何使用jquery添加元素

javascript - ES6 在循环之前或循环中声明变量

javascript - Node webkit : Cut/copy/paste right click context menu and iframe