Open PDF in IE11 on new tab without prompting - mssaveoropenblob(在新选项卡上的 IE11 中打开 PDF 而不提示 - mssaveoropenblob)
问题描述
我们正在迁移一个 ASP.NET MVC 应用程序,该应用程序具有通过 FileContentResult 在新选项卡中打开 PDF 的功能.
We are migrating an ASP.NET MVC application, which had the feature to open PDF in a new tab via FileContentResult.
return new FileContentResult(byteArray, "application/pdf");
现在我们正在将此应用程序迁移到 React,并从 API(服务器端)返回响应,如下所示:-
Now we are migrating this app to React and from from the API (server side), we are sending back the response as below :-
response.Content = new ByteArrayContent(pdfByteArray);
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
在 React UI 方面,我们使用如下响应:-
On the React UI side, we are using the response as below :-
postData(POST_API_ENDPOINT, requestData, ((err, data) => {
if (data.ok) {
data.blob().then(function(myBlob) {
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
return window.navigator.msSaveOrOpenBlob(myBlob, "sample.pdf");
}
else {
var objectURL = URL.createObjectURL(myBlob);
return window.open(objectUrl);
}
});
}
}));
现在,我知道 msSaveOrOpenBlob 总是会提示用户在 IE11 中打开/保存".如果我需要在没有提示的情况下在其他选项卡中打开 PDF,我还有哪些其他选择?
Now, i understand that msSaveOrOpenBlob would always prompt the user to "open/save" within IE11. What other options do i have if i need to open the PDF in a different tab without the prompts?
我想还有另一种方法可以通过以下方式做到这一点,但网址长度再次限制了这一点.
I guess there is another way to do that via the below manner, but again the URL length limits that.
window.open("data:application/pdf;base64, " + base64EncodedPDF);
推荐答案
IE 不允许我们在新选项卡中打开数据 URL(可能是出于安全原因)并且没有解决方法 - 之前遇到过同样的问题.
IE does not allow us to open Data URL in new tab (possibly security reason) and there no workaround - faced same issue earlier.
我们使用 msSaveOrOpenBlob - 找不到替代方案.
We use msSaveOrOpenBlob - found no alternative.
这篇关于在新选项卡上的 IE11 中打开 PDF 而不提示 - mssaveoropenblob的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在新选项卡上的 IE11 中打开 PDF 而不提示 - mssaveoropenblob
- 在哪里可以找到使用中的C#/XML文档注释的好例子? 2022-01-01
- 带有服务/守护程序应用程序的 Microsoft Graph CSharp SDK 和 OneDrive for Business - 配额方面返回 null 2022-01-01
- WebMatrix WebSecurity PasswordSalt 2022-01-01
- Web Api 中的 Swagger .netcore 3.1,使用 swagger UI 设置日期时间格式 2022-01-01
- C# 中多线程网络服务器的模式 2022-01-01
- 输入按键事件处理程序 2022-01-01
- C#MongoDB使用Builders查找派生对象 2022-09-04
- 良好实践:如何重用 .csproj 和 .sln 文件来为 CI 创建 2022-01-01
- MoreLinq maxBy vs LINQ max + where 2022-01-01
- 如何用自己压缩一个 IEnumerable 2022-01-01