在我们项目当中存储文件是存储到厂商的服务器上的,然后厂商返回一个可以直接下载url地址,但是前端使用这个url下载的时候永远都是保存一个名字,这时候我们就需要设置文件保存的名称,
那么如何实现呢?使用了fetch将url转换成了blob即可。
代码如下:文章来源地址https://www.toymoban.com/news/detail-757324.html
const downLoadFile = (url: string, fileName: string) => {
const a = document.createElement("a");
fetch(url)
.then((res) => res.blob())
.then((blob) => {
// 将链接地址字符内容转变成blob地址
a.href = URL.createObjectURL(blob);
// @ts-ignore
a.download = fileName; // 下载文件的名字
// a.download = url.split('/')[url.split('/').length -1] // // 下载文件的名字
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
})
};
文章来源:https://www.toymoban.com/news/detail-757324.html
到了这里,关于【前端】根据后端返回的url进行下载并设置文件下载名称的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!