używam XMLHttpRequest
wygenerować Blob
z URI danych przy użyciu tego kodu:XHR + dane URI nie działa w Safari
function dataUrlToBlob(dataUrl, callback) {
var xhr = new XMLHttpRequest;
xhr.open('GET', dataUrl);
xhr.responseType = 'arraybuffer';
xhr.onload = function(e) {
callback(new Blob([this.response], {type: 'image/png'}));
};
xhr.send();
}
Zastosowanie:
dataUrlToBlob('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQIW2NkAAIAAAoAAggA9GkAAAAASUVORK5CYII=', callback);
Wszystko działa poprawnie w każdej przeglądarce z wyjątkiem Safari . Wystąpił taki błąd:
[Error] XMLHttpRequest cannot load data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQIW2NkAAIAAAoAAggA9GkAAAAASUVORK5CYII=. Cross origin requests are only supported for HTTP.
Pytanie brzmi, czy są jakieś sposoby, aby to podejście działało w Safari?
Udało ci się to rozwiązać? Mam dokładnie ten sam problem. – Michiel
Wobec tego samego problemu. Chciałbym wiedzieć, czy byłeś w stanie to obejść. –