文件链接如何进行下载

第一种

Content-Disposition

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

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

例如:

 

 第二种

fetch
前端请求链接获取文件内容(blob)再通过设置a标签的download属性进行下载(download属性可为空字符串)
例如
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 @ 2024-02-01 14:55  瑞瑞大人  阅读(184)  评论(0)    收藏  举报