How to open Blob URL on Chrome iOS How to open Blob URL on Chrome iOS google-chrome google-chrome

How to open Blob URL on Chrome iOS


FileReader solved my problem.

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 method has been deprecated.

Bit late, but I had todo something similar using the FileReader.readAsDataURL - which produces a dataUrl. I'm using AngularJS $http service to call the API to create a pdf. Hope this helps, see below:

$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);    });


I fixed it by changing content-type from application/json to application/octet-stream. My xlsx file was downloaded as json.

@PostMapping(value = "/export", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)