From 89504036742a64ac44c821b9a069220faf150915 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期一, 15 四月 2024 10:32:52 +0800
Subject: [PATCH] 文件上传整合代码

---
 Source/ProjectWeb/src/util/func.js |   73 ++++++++++++++++++++++++++++++++++++
 1 files changed, 73 insertions(+), 0 deletions(-)

diff --git a/Source/ProjectWeb/src/util/func.js b/Source/ProjectWeb/src/util/func.js
index 9484984..9c9f00d 100644
--- a/Source/ProjectWeb/src/util/func.js
+++ b/Source/ProjectWeb/src/util/func.js
@@ -104,4 +104,77 @@
     }
     return str;
   }
+
+  /**
+   * 鍒ゆ柇鏄惁涓哄璞″苟涓嶄负绌哄璞�
+   * @param value
+   * @returns {Boolean}
+   */
+  static isValuableObj(value) {
+    return typeof value === 'object' && value !== null && Object.keys(value).length > 0;
+  }
+
+  /**
+   * 鑾峰彇娴佹枃浠惰繘琛屾枃浠朵笅
+   * @param value
+   * @returns {Boolean}
+   */
+  static downloadFileByBlobHandler(res) {
+    if (res.headers['content-disposition']) {
+      const fileNames = res.headers['content-disposition'].split(";");
+      let characterSet = fileNames[2].split("filename*=")[1];
+      let fileName = decodeURI(fileNames[1].split("filename=")[1], characterSet);  // 涓嬭浇鐨勬枃浠跺悕
+      let blob = new Blob([res.data], {
+        type: res.data.type + ";charset=utf-8",
+      });
+      const url = URL.createObjectURL(blob); // 鐢熸垚涓嬭浇閾炬帴
+      const link = document.createElement("a");
+      link.href = url;
+      link.download = fileName; // 鎸囧畾鏂囦欢鍚嶅拰鏍煎紡
+      document.body.appendChild(link); // 娣诲姞涓嬭浇閾炬帴鍒伴〉闈�
+      link.click(); // 瑙﹀彂涓嬭浇
+      document.body.removeChild(link); //鍒犻櫎涓嬭浇
+      window.URL.revokeObjectURL(url); //閲婃斁鎺塨lob瀵硅薄
+    }
+  }
+
+  /**
+   * 鑾峰彇娴佹枃浠惰繘琛屾枃浠朵笅
+   * @param value
+   * @returns {Boolean}
+   */
+  static downloadFileByBlob(blobData, name) {
+    const url = URL.createObjectURL(blobData); // 鐢熸垚涓嬭浇閾炬帴
+    const link = document.createElement("a");
+    link.href = url;
+    link.download = name; // 鎸囧畾鏂囦欢鍚嶅拰鏍煎紡
+    document.body.appendChild(link); // 娣诲姞涓嬭浇閾炬帴鍒伴〉闈�
+    link.click(); // 瑙﹀彂涓嬭浇
+    document.body.removeChild(link); //鍒犻櫎涓嬭浇
+  }
+
+  /**
+   * 灏嗘暟缁勪腑鐨勫睘鎬ф嫾鎺ユ垚瀛楃涓�
+   * @param {鏁扮粍} array
+   * @param {灞炴� attr
+   * @returns
+   */
+  static joinedString(array, attr) {
+    return array.reduce((accumulator, item) => {
+      return accumulator + (accumulator ? ',' : '') + item[attr];
+    }, '');
+  }
+
+  /**
+   * 姣斿鏁扮粍涓殑瀵硅薄鐨勬煇涓睘鎬ф槸鍚﹀叏閮ㄤ竴鑷�
+   * @param {鏁扮粍} array
+   * @param {灞炴� attr
+   * @returns 涓�鑷磋繑鍥瀎asle,涓嶄竴鑷磋繑鍥瀟rue
+   */
+  static isAttrInconsistent(array, attr) {
+    return Object.values(array).some((item, index, array) => {
+      return item[attr] !== array[0][attr];
+    });
+  }
 }
+

--
Gitblit v1.9.3