基本 64 字节数组在 chrome 中不起作用

base 64 byte array not working in chrome

我正在使用 ASP.NET MVC 与 jquery 和 SQL 服务器。

我有一个页面从控制器端获得 base 64 到 ajax 成功并将其传递到浏览器的新选项卡,它将显示 pdf 文件:

window.open("data:application/pdf;base64, " + data.bytedata);

有趣的是,它在 firefox 中工作正常,在 chrome 中也工作正常,但自从最近 2 或 3 天在 chrome 中它不工作只是给我一些在 chrome 和 firefox 中也不起作用的字节数据。

可能是来自 chrome 中控制器的字节数据无效,这就是为什么它在 firefox 和 chrome 中也不是 运行 但同一页面相同调用的原因来自控制器的字节数据在 firefox 中 运行 在 chrome 中也很好,在 firefox 中也是如此。

不知道怎么区分这个问题

知道我的代码在 chrome 中停止工作的地方。

实际上 Chrome 刚刚在 8 月 2 日发布了一个新版本:

版本 60.0.3112.90(正式版)(64 位)

它在以上版本中停止工作。

我的代码在以下版本中运行得很好,即最高

版本 59.0.3071.86(正式版)(64 位)

我已将此问题报告给 Chrome 让我们看看他们如何解决这个问题。

更新的解决方案:

使用 iframe 并在其中加载 base64:

window.open("<iframe src='data:application/pdf;base64, " + encodeURI(data.bytedata) + "'></iframe>")