文件链接如何进行下载

第一种

Content-Disposition

Content-disposition是MIME协议的扩展,MIME协议指示MIME用户代理如何显示附加的文件。当浏览器接收到头时,他会激活文件下载对话框,它的文件名框自动填充headers指定的文件名。

服务器向浏览器发送文件时,如果是浏览器支持的文件类型,一般会默认使用浏览器打开,比如txtjpg等。如果需要提示用户保存,就要利用Content-Disposition进行处理

例如:

 

 第二种

fetch
前端请求链接获取文件内容(blob)再通过设置a标签的download属性进行下载(download属性可为空字符串)
例如
1
2
3
4
5
6
7
8
9
10
11
12
async function downloadFile(url: string, fileName?: string) {
  const response = await fetch(url);
  const blob = await response.blob();
  const objectUrl = window.URL.createObjectURL(blob);
 
  const a = document.createElement('a');
  a.style.display = 'none';
  a.href = objectUrl;
  a.download = fileName || '';
  a.click();
  window.URL.revokeObjectURL(objectUrl);
}

  

posted @   瑞瑞大人  阅读(108)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示