长城汽车软件包管理平台
whychdw
2025-05-06 4a867727d81b9513e675ad396903368c6a293dca
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function downloadFile(url: string, fileName: string) {
  return new Promise<void>((resolve, reject) => {
    let baseUrl = "";
    if (process.env.NODE_ENV === "development") {
      // 跨域请求
      baseUrl = "http://localhost:8080/bg/";
    } else {
      baseUrl = location.protocol + "//" + location.host + "/bg/";
    }
    const link = document.createElement("a");
    link.href = baseUrl + url;
    // 1. 预检文件是否存在
    fetch(link.href, { method: "HEAD" })
      .then(() => {
        link.download = fileName;
        document.body.appendChild(link); // 添加到 DOM
        link.click();
        window.URL.revokeObjectURL(url);
        resolve();
      })
      .catch(() => {
        reject();
      });
  });
}
 
export default downloadFile;