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