我想从其他网站下载一个html文件,我尝试了以下代码,但它无法正常工作,只是重定向到网站:
<a href='http://example.com' download>Download</a>
那么如何从其他网站下载html文件?
答案 0 :(得分:1)
如评论中所述,download属性仅适用于相同的原始URL。
我通过在后端公开一个端点来解决此问题,该端点使用我要下载的文件重定向到url,并在客户端指向该端点。
前端
<a href='/download-file' download>Download</a>
后端
router.get('/download-file', (req, res, next) => {
res.redirect('http://example.com/url-to-the-file');
});
当您无法控制那些文件时,请注意要重定向到的内容。
就我而言,该文件托管在CDN中,这使URL的来源有所不同,但我仍然可以控制它。
答案 1 :(得分:0)
<a>
用于将用户定向到指定的链接。在html5中,您可以添加属性download
并链接到特定文件,以表示您打算以下载方式提供该文件。
在这种情况下,href值应指向特定文件而不仅仅是目录。带链接的html文件也必须在顶部<!DOCTYPE html>
标记为html5的doctype。
您必须从与您的网站相同的域提供html /下载,否则请处理另一个主题CORS。
实施例
<a href='http://example.com/myFileToDownload.html' download>Download Source</a>