我正在使用带有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中也是如此。
不知道如何区分这个问题。
答案 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>")