| | |
| | | * @param value |
| | | * @returns {Boolean} |
| | | */ |
| | | static downloadFileByBlob(res) { |
| | | static downloadFileByBlobHandler(res) { |
| | | const fileNames = res.headers['content-disposition'].split(";"); |
| | | let characterSet = fileNames[2].split("filename*=")[1]; |
| | | let fileName = decodeURI(fileNames[1].split("filename=")[1],characterSet); // 下载的文件名 |
| | |
| | | document.body.appendChild(link); // 添加下载链接到页面 |
| | | link.click(); // 触发下载 |
| | | document.body.removeChild(link); //删除下载 |
| | | window.URL.revokeObjectURL(url); //释放掉blob对象 |
| | | } |
| | | |
| | | /** |
| | | * 获取流文件进行文件下 |
| | | * @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 一致返回fasle,不一致返回true |
| | | */ |
| | | static isAttrInconsistent(array,attr) { |
| | | return Object.values(array).some((item, index, array) => { |
| | | return item[attr] !== array[0][attr]; |
| | | }); |
| | | } |
| | | |
| | | } |