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

时间:2017-08-09 06:40:49

标签: javascript arrays google-chrome firefox base64

我正在使用带有jquery和SQL SERVER的ASP.NET MVC。

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

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

有趣的是在firefox中它工作正常并且在Chrome中工作正常但是自从最近2或3天在chrome中它不起作用只是给我一些不能在chrome和firefox工作的bytedata同样。

可能有问题的是来自chrome中控制器的bytedata是无效的,这就是为什么它也没有在firefox中运行以及在chrome中也是如此但同样的页面来自firefox中的控制器的同一个调用bytedata在chrome中运行良好且在firefox中也是如此。

不知道如何区分这个问题。

1 个答案:

答案 0 :(得分:3)

知道我的代码在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>")