场景
需求要根据服务器文件地址,在前端进行文件下载并重命名,支持图片、视频、文件
实现思路
1、在前端使用 Fetch 获取资源的接口,将文件地址转换完整的二进制数据,然后创建页面元素标签,下载文件
/**
* 根据文件路径下载文件,并重命名
* @param filePath 服务器文件路径
* @param fileName 重命名 11111
*/
function downLoadFile(filePath,fileName) {
// fetch 获取资源的接口(包括跨域请求)
//response.blob() 返回一个完整的二进制数据
fetch(filePath).then((response) => response.blob())
.then((res) =>{
var blob = new Blob([res])
var link = document.createElement('a');//创建a标签
link.href = window.URL.createObjectURL(blob);//获得一个http格式的url路径
link.download = fileName;//下载文件 并重命名
link.click();
})
}