gpt4 book ai didi

javascript - 无法在 iphone 或 ipad pro ios12 的 safari 浏览器中下载 PDF

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:53:44 24 4
gpt4 key购买 nike

我的网络应用程序中有 PDF 下载功能。它适用于所有浏览器和 iOS11,但不适用于移动或 iod pro 上的 safari 浏览器和 ios12。我收到以下错误 -WebKitBlobResource 错误 1

export const downloadPDF = (downloadLink, fileName, trackId, productId, historyId) => {
return (dispatch) => {
return request.doGetAuth(downloadLink).then(response => {
let contentType = response.headers.get('content-type');
if (_.includes(contentType, 'application/json')) {
return response.json();
} else {
return response.blob();
}
}).then(blobby => {
if (!blobby.message) {
const blob = new Blob([blobby], {
type: 'application/pdf'
});
if (isIos()) {
if (!isCriOs()) {
// For ios
let url = window.URL.createObjectURL(blob);
dispatch(downloadReadyAction(url, fileName));
} else {
// if chrome
let reader = new FileReader();
reader.onload = function(e) {
dispatch(downloadReadyAction(reader.result, fileName));
}
reader.readAsDataURL(blob);
}
} else {
FileSaver.saveAs(blob, fileName);
}
}
}).catch(err => {
console.log('Problem downloading pdf from server ' + err)
})
}
}

最佳答案

当我们在新的 url 选项卡中打开 pdf 时,该文件不存在,但它的唯一缓存存储在浏览器中。因此,当我们生成 blob 并重定向到当前选项卡以指向生成的 blob url 时,我们会丢失缓存。所以在新窗口中打开 url 会有所帮助。

   let url = window.URL.createObjectURL(blob);
window.open(url, "_blank");

关于javascript - 无法在 iphone 或 ipad pro ios12 的 safari 浏览器中下载 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52621657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com