如何在Chrome iOS上打开Bloburl

我想在浏览器窗口中打开Blob对象。

这个代码在任何地方都可以运行,但iOS Chrome浏览器(当然IE也可以解决IE)。 该窗口没有redirect到URL(这是正确的,或至less在其他浏览器相同)。 Chrome iOS有没有已知的解决方法?

var blob = new window.Blob(['Hello, world!'], {type: 'text/plain;charset=utf-8'}); window.URL = window.URL || window.webkitURL; var url = window.URL.createObjectURL(blob); window.location.href = url; 

我已经尝试<a href="{blobUrl}>而不是window.location.href但它也不起作用。

FileReader解决了我的问题。

 var reader = new FileReader(); var out = new Blob([this.response], {type: 'application/pdf'}); reader.onload = function(e){ window.location.href = reader.result; } reader.readAsDataURL(out); 

FileReader.readAsBinaryString方法已被弃用。

迟了一点,但是我使用FileReader.readAsDataURL来做类似的事情 – 它产生一个dataUrl。 我正在使用AngularJS $ http服务来调用API来创buildPDF。 希望这有助于,见下文:

 $http.post('/api/pdf', {id: '123'}, {responseType: 'arraybuffer'}) .success(function (response) { var blob = new Blob([response.data], {type: 'application/pdf'}); var reader = new FileReader(); reader.onloadend = function(e) { $window.open(reader.result); } reader.readAsDataURL(blob); });