在html5中,我尝试使用download属性,这是一个示例代码
<a href="/images/myw3schoolsimage.jpg" download>
如果链接无效或被禁止,它仍然会下载禁止的html错误页面或其他一些错误页面。相反,有没有办法检查标头是200还是下载资源(如果只有可访问/存在?)
答案 0 :(得分:0)
我刚刚使用此解决方案解决了该问题,请下载PDF:
const onDownloadClick = async (evt) => {
const anchor = evt.target.parentNode;
try {
const response = await axios({
method: 'get',
url: '/pdf',
responseType: 'blob',
headers: {
'Accept': 'application/pdf'
}
});
const blob = new Blob([response.data], {
type: 'application/pdf',
});
anchor.href = window.URL.createObjectURL(blob);
anchor.download = 'filename.pdf';
anchor.click();
} catch (err) {
console.log(err);
}
}
最初,链接没有下载属性。我只是动态地设置它并模拟使用JavaScript的链接单击。对于图像,您只需要一个不同的标题和Blob类型。我猜image/jpeg
会做到的。