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)