Sfoglia il codice sorgente

修改下载方式

chauncey 10 mesi fa
parent
commit
3e476b7b67
1 ha cambiato i file con 48 aggiunte e 39 eliminazioni
  1. 48 39
      src/views/disaster/utils/download.ts

+ 48 - 39
src/views/disaster/utils/download.ts

@@ -3,45 +3,54 @@
  * @param url 文件url
  * @param name 文件名
  */
+// export const downloadFile = (url: string | undefined, name: string): void => {
+//   if (!url) return;
+//   // 创建XMLHttpRequest请求
+//   const request = new XMLHttpRequest();
+//   request.responseType = "blob";
+
+//   // 打开请求
+//   request.open("GET", encodeURI(url));
+
+//   // 设置onload回调函数
+//   request.onload = function () {
+//     if (this.status === 200) {
+//       // 创建Blob URL
+//       const blobUrl = window.URL.createObjectURL(this.response);
+
+//       // 创建a标签
+//       const link = document.createElement('a');
+//       // 设置下载链接
+//       link.href = blobUrl;
+//       // 设置下载文件名
+//       link.download = name;
+//       // 设置链接样式为不可见
+//       link.style.display = 'none';
+//       // 添加到文档中
+//       document.body.appendChild(link);
+//       // 触发点击事件执行下载
+//       link.click();
+//       // 下载完成后移除该元素
+//       document.body.removeChild(link);
+//       // 释放blob URL
+//       window.URL.revokeObjectURL(blobUrl);
+//     }
+//   };
+
+//   // 添加错误处理
+//   request.onerror = function() {
+//     console.error('下载文件失败');
+//   };
+
+//   // 发送请求
+//   request.send();
+// };
 export const downloadFile = (url: string | undefined, name: string): void => {
   if (!url) return;
-  // 创建XMLHttpRequest请求
-  const request = new XMLHttpRequest();
-  request.responseType = "blob";
-  
-  // 打开请求
-  request.open("GET", encodeURI(url));
-  
-  // 设置onload回调函数
-  request.onload = function () {
-    if (this.status === 200) {
-      // 创建Blob URL
-      const blobUrl = window.URL.createObjectURL(this.response);
-      
-      // 创建a标签
-      const link = document.createElement('a');
-      // 设置下载链接
-      link.href = blobUrl;
-      // 设置下载文件名
-      link.download = name;
-      // 设置链接样式为不可见
-      link.style.display = 'none';
-      // 添加到文档中
-      document.body.appendChild(link);
-      // 触发点击事件执行下载
-      link.click();
-      // 下载完成后移除该元素
-      document.body.removeChild(link);
-      // 释放blob URL
-      window.URL.revokeObjectURL(blobUrl);
-    }
-  };
-  
-  // 添加错误处理
-  request.onerror = function() {
-    console.error('下载文件失败');
-  };
-  
-  // 发送请求
-  request.send();
+  const link = document.createElement('a');
+  link.href = url;
+  link.download = name;
+  document.body.appendChild(link);
+  link.click();
+  document.body.removeChild(link);
 };