From 49379f82fb1eac965f7c981fe37954fb018bb6b0 Mon Sep 17 00:00:00 2001 From: Xu Zhimeng Date: Wed, 13 Dec 2023 16:51:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20File-Format-Ftransit=E5=8F=8C=E4=BE=A7?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=B9=B6=E4=B8=94?= =?UTF-8?q?=E5=9C=A8=E8=BD=AC=E6=8D=A2=E6=88=90=E5=8A=9F=E5=90=8E=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E8=A2=AB=E8=BD=AC=E6=8D=A2=E7=9A=84=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/file.js | 12 ++++++++++-- .../components/SpectrumTransferCom.vue | 14 +++++++------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/utils/file.js b/src/utils/file.js index 4366430..08cf671 100644 --- a/src/utils/file.js +++ b/src/utils/file.js @@ -104,7 +104,15 @@ export function getFileNameByHeaderContentDisposition(contentDisposition) { return fileName } -export const fetchAndDownload = async (url, data, method = 'post') => { +/** + * 获取并下载文件 + * @param {*} url + * @param {*} data + * @param {*} method + * @param {'fileName'|'file'} returnType + * @returns + */ +export const fetchAndDownload = async (url, data, method = 'post', returnType = 'fileName') => { const apiBaseUrl = window._CONFIG['domianURL'] || '/jeecg-boot' const sign = signMd5Utils.getSign(url, data) @@ -138,7 +146,7 @@ export const fetchAndDownload = async (url, data, method = 'post') => { const disposition = headers['content-disposition'] const fileName = getFileNameByHeaderContentDisposition(disposition) saveAs(responseData, fileName) - return fileName + return returnType == 'fileName' ? fileName : new File([responseData], fileName) } } else { message.error('This operation fails. Contact your system administrator') diff --git a/src/views/spectrumAnalysis/components/Modals/FtransltModal/components/SpectrumTransferCom.vue b/src/views/spectrumAnalysis/components/Modals/FtransltModal/components/SpectrumTransferCom.vue index 28d2fbb..f23d38c 100644 --- a/src/views/spectrumAnalysis/components/Modals/FtransltModal/components/SpectrumTransferCom.vue +++ b/src/views/spectrumAnalysis/components/Modals/FtransltModal/components/SpectrumTransferCom.vue @@ -182,15 +182,15 @@ export default { } try { - const fileName = await fetchAndDownload(url, formData) + const file = await fetchAndDownload(url, formData, 'post', 'file') if (target == 'left') { - this.leftFileList.push({ - name: fileName, - }) + this.leftFileList.push(file) + this.rightFileList.splice(this.rightSelFileIndex, 1) + this.rightSelFileIndex = null } else { - this.rightFileList.push({ - name: fileName, - }) + this.rightFileList.push(file) + this.leftFileList.splice(this.leftSelFileIndex, 1) + this.leftSelFileIndex = null } } catch (error) { console.error(error)