Я хочу загрузить картинку (тип файла jpeg) с Chrome или Firefox на iOS.
Этот код работает с Safari и всеми навигаторами на рабочем столе, но не с Chrome и Firefox на iPad и iPhone.
Chrome и Firefox на iPhone / pad открывают новое окно с изображением с URL-адресом «blob: https // path_of_pi c. "
function downloadResource(url, filename) {
if (!filename) filename = url.split('\\').pop().split('/').pop();
fetch(url, {
headers: new Headers({
'Origin': location.origin
}),
mode: 'cors'
})
.then(response => response.blob())
.then(blob => {
let blobUrl = window.URL.createObjectURL(blob);
forceDownload(blobUrl, filename);
})
.catch(e => console.error(e));
}
function forceDownload(blob, filename) {
var a = document.createElement('a');
a.download = filename;
a.href = blob;
document.body.appendChild(a);
a.click();
a.remove();
}
Я вызываю функцию downloadResource
с атрибутом onClick
в элементе React