a标签download不生效

1,504 阅读1分钟

下载附件,但是download的时候,名字不生效

 const aLink = document.createElement('a');
  aLink.style.display = 'none';
  aLink.href = url;
  aLink.download = fileName;
  aLink.target = '_parent';
  document.body.appendChild(aLink);
  aLink.click();
  document.body.removeChild(aLink); // 下载完成移除元素

使用流的方式下载name是生效的

 const fileStream = await axios.get(url, {
        responseType: 'blob',
        withCredentials: false
      }).catch(() => {
        return false;
      });
      if (!fileStream) {
        return false;
      }
      const result = new Promise((resolve, reject) => {
        const url = URL.createObjectURL(fileStream.data);
        const aLink = document.createElement('a');
        aLink.style.display = 'none';
        aLink.href = url;
        aLink.setAttribute('download',name);
        aLink.click();
        URL.revokeObjectURL(url);
        resolve(true);
      });
      return result;