update:下载优化

This commit is contained in:
2026-01-21 10:59:18 +08:00
parent 9eb46387d8
commit 370daeef2a
8 changed files with 48 additions and 14 deletions

View File

@@ -1,4 +1,4 @@
import { downloadFileById } from '@/utils/file';
import { downloadFileByStream } from '@/utils/file';
// import { get, post } from './index';
import { ElNotification, ElButton } from 'element-plus';
import { h } from 'vue';
@@ -62,7 +62,7 @@ export const querytasklogApi = async (params: any) => {
const openDownLoadFun = () => {
// const downloadUrl = `${env.VITE_API_FILE_URL}/data/downloadFile?fileId=${3190}`;
// window.open(downloadUrl, '_blank');
downloadFileById(7613);
downloadFileByStream(7613);
};
const startFun = () => {

View File

@@ -62,7 +62,12 @@ import { batchAddFileInfoApi } from '@/api/data/data';
import { queryTaskRunApi } from '@/api/project/run';
import { NODE_TYPE } from '@/utils/enum/node';
import { FILE_TYPE } from '@/utils/enum/file';
import { downloadFileById, getFileUploadAcceptFun, queryFileIdByNodeIdFun } from '@/utils/file';
import {
downloadFileById,
downloadFileByStream,
getFileUploadAcceptFun,
queryFileIdByNodeIdFun,
} from '@/utils/file';
import BaseTable from '@/components/common/table/baseTable.vue';
import FilePreview from '@/components/common/filePreview/index.vue';
import emitter from '@/utils/eventBus';
@@ -221,7 +226,7 @@ const downLoadFun = async () => {
const data: any = baseTableRef.value.tableRef.getCheckboxRecords() || [];
if (data.length) {
for (let i = 0; i < data.length; i++) {
downloadFileById(data[i].id);
downloadFileByStream(data[i].id);
}
}
};

View File

@@ -58,7 +58,12 @@ import { batchAddFileInfoApi } from '@/api/data/data';
import UploadFile from '@/components/common/uploadFile/index.vue';
import FilePreview from '@/components/common/filePreview/index.vue';
import { FILE_TYPE } from '@/utils/enum/file';
import { downloadFileById, formatFileSize, queryFileIdByNodeIdFun } from '@/utils/file';
import {
downloadFileById,
downloadFileByStream,
formatFileSize,
queryFileIdByNodeIdFun,
} from '@/utils/file';
import { dataOverViewDeleteSimulationNodeFilesApi } from '@/api/data/dataOverView';
import fileTypeChange from '@/components/common/fileTable/fileTypeChange.vue';
import emitter from '@/utils/eventBus';
@@ -206,7 +211,7 @@ const downLoadFun = async () => {
const data: any = baseTableRef.value.tableRef.getCheckboxRecords() || [];
if (data.length) {
for (let i = 0; i < data.length; i++) {
downloadFileById(data[i].id);
downloadFileByStream(data[i].id);
}
}
};

View File

@@ -71,7 +71,12 @@ import { batchAddFileInfoApi } from '@/api/data/data';
import { initEcharts } from '../common/echartCard/echartsOptions';
import { FILE_TYPE } from '@/utils/enum/file';
import BaseTable from '@/components/common/table/baseTable.vue';
import { downloadFileById, getFileUploadAcceptFun, queryFileIdByNodeIdFun } from '@/utils/file';
import {
downloadFileById,
downloadFileByStream,
getFileUploadAcceptFun,
queryFileIdByNodeIdFun,
} from '@/utils/file';
import { dataOverViewDeleteSimulationNodeFilesApi } from '@/api/data/dataOverView';
import FilePreview from '@/components/common/filePreview/index.vue';
import emitter from '@/utils/eventBus';
@@ -349,7 +354,7 @@ const downLoadFun = async () => {
const data: any = baseTableRef.value.tableRef.getCheckboxRecords() || [];
if (data.length) {
for (let i = 0; i < data.length; i++) {
downloadFileById(data[i].id);
downloadFileByStream(data[i].id);
}
}
};

View File

@@ -54,7 +54,12 @@ import { batchAddFileInfoApi } from '@/api/data/data';
import UploadFile from '@/components/common/uploadFile/index.vue';
import FilePreview from '@/components/common/filePreview/index.vue';
import { FILE_TYPE } from '@/utils/enum/file';
import { downloadFileById, formatFileSize, queryFileIdByNodeIdFun } from '@/utils/file';
import {
downloadFileById,
downloadFileByStream,
formatFileSize,
queryFileIdByNodeIdFun,
} from '@/utils/file';
import emitter from '@/utils/eventBus';
import { dataOverViewDeleteSimulationNodeFilesApi } from '@/api/data/dataOverView';
import { getSimulationTaskFilesApi } from '@/api/data/dataAnalysis';
@@ -202,7 +207,7 @@ const downLoadFun = async () => {
const data: any = baseTableRef.value.tableRef.getCheckboxRecords() || [];
if (data.length) {
for (let i = 0; i < data.length; i++) {
downloadFileById(data[i].id);
downloadFileByStream(data[i].id);
}
}
};

View File

@@ -54,6 +54,7 @@ import BaseTable from '@/components/common/table/baseTable.vue';
import { batchAddFileInfoApi } from '@/api/data/data';
import {
downloadFileById,
downloadFileByStream,
formatFileSize,
getFileUploadAcceptFun,
queryFileIdByNodeIdFun,
@@ -211,7 +212,7 @@ const downLoadFun = async () => {
const data: any = baseTableRef.value.tableRef.getCheckboxRecords() || [];
if (data.length) {
for (let i = 0; i < data.length; i++) {
downloadFileById(data[i].id);
downloadFileByStream(data[i].id);
}
}
};

View File

@@ -2,6 +2,7 @@ import {
getKKFileViewURLFromMinioApi,
queryFileIdByNodeIdApi,
systemDataDownloadFileApi,
getMinioPresignedUrlApi,
} from '@/api/data/data';
import { getDictionaryDataApi, getFormConfigureApi } from '@/api/system/systemData';
import { ElMessage } from 'element-plus';
@@ -221,12 +222,25 @@ export const exportFile = (
* @param fileId
*/
export const downloadFileById = async (fileId: number) => {
// 1.点击事件下载
// const link = document.createElement('a');
// link.href = `${env.VITE_API_FILE_URL}/data/downloadFile?fileId=${fileId}`;
// document.body.appendChild(link);
// link.click();
// document.body.removeChild(link);
// 2.文件流下载
// await systemDataDownloadFileApi({ fileId });
// 3.浏览器下载
getMinioPresignedUrlApi({ fileId }).then((res: any) => {
if (res.code === 200) {
const downloadUrl = res.data.minioDownloadUrl;
window.open(downloadUrl, '_blank');
}
});
};
// 文件流下载
export const downloadFileByStream = async (fileId: number) => {
await systemDataDownloadFileApi({ fileId });
};

View File

@@ -34,7 +34,7 @@
import { ref, watch } from 'vue';
import BaseTable from '@/components/common/table/baseTable.vue';
import { queryRunDirApi, uploadRunFilesApi } from '@/api/project/run';
import { downloadFileById, fileUploadAllocationTypeFun } from '@/utils/file';
import { downloadFileById, downloadFileByStream, fileUploadAllocationTypeFun } from '@/utils/file';
import FilePreview from '@/components/common/filePreview/index.vue';
import { formatFileSize } from '@/utils/file';
import emitter from '@/utils/eventBus';
@@ -107,7 +107,7 @@ const downLoadFileFun = async () => {
for (let i = 0; i < ckeckData.length; i++) {
// const downloadUrl = `${env.VITE_API_FILE_URL}/data/downloadFile?fileId=${ckeckData[i].id}`;
// window.open(downloadUrl, '_blank');
downloadFileById(ckeckData[i].id);
downloadFileByStream(ckeckData[i].id);
}
};
@@ -148,7 +148,6 @@ const actionList = ref([
ElMessage.success('删除成功');
reloadFun();
}
// downloadFileById(row.id);
},
},
]);