Compare commits

...

2 Commits

Author SHA1 Message Date
4f70b13ab7 Merge branch 'main' of http://61.139.16.27:26684/zy_oyj/sgxt_web 2026-01-27 09:43:44 +08:00
8c66561605 更新 2026-01-27 09:42:38 +08:00

View File

@ -177,54 +177,36 @@ const previewFile = (item) => {
window.open(item.wjdz); window.open(item.wjdz);
} }
const downloadFile = async (item) => { const downloadFile = async (item) => {
console.log(item);
try { try {
const dataList =JSON.parse(item.wjdz) const dataList =JSON.parse(item.wjdz)
if (dataList.length === 0) { if (dataList.length === 0) return proxy.$message.warning('没有文件可下载');
proxy.$message.warning('没有文件可下载');
return;
}
console.log(dataList);
const downloadCount = dataList.length; const downloadCount = dataList.length;
let successCount = 0; let successCount = 0;
let failCount = 0; let failCount = 0;
proxy.$message.info(`开始下载${downloadCount}个文件...`); proxy.$message.info(`开始下载${downloadCount}个文件...`);
const downloadPromises = dataList.map(async (fileData, index) => {
// 并行下载所有文件
const downloadPromises = dataList.map(async (fileData, index) => {
try { try {
// fileData.url = "http://47.108.232.77:9000/image/2025-01-06/081102a5418e4146beea277d18018e07.jpeg";
// 使用fetch获取文件内容 // 使用fetch获取文件内容
const response = await fetch(fileData.url); const downloadUrl = fileData.url.replace(/^https?:\/\/[^/]+/, '/zyminio');
if (!response.ok) { const response = await fetch(downloadUrl);
throw new Error('文件下载失败'); if (!response.ok) throw new Error('文件下载失败');
}
// 将响应转换为Blob对象 // 将响应转换为Blob对象
const blob = await response.blob(); const blob = await response.blob();
// 创建下载链接 // 创建下载链接
const downloadLink = document.createElement('a'); const downloadLink = document.createElement('a');
downloadLink.href = URL.createObjectURL(blob); downloadLink.href = URL.createObjectURL(blob);
// 设置下载文件的名称,避免冲突 // 设置下载文件的名称,避免冲突
const fileName = dataList.length > 1 const fileName = dataList.length > 1 ? `${item.wjmc}_${index + 1}` : item.wjmc;
? `${item.wjmc}_${index + 1}`
: item.wjmc;
downloadLink.download = fileName; downloadLink.download = fileName;
// 触发下载 // 触发下载
document.body.appendChild(downloadLink); document.body.appendChild(downloadLink);
downloadLink.click(); downloadLink.click();
// 清理 // 清理
setTimeout(() => { setTimeout(() => {
document.body.removeChild(downloadLink); document.body.removeChild(downloadLink);
URL.revokeObjectURL(downloadLink.href); URL.revokeObjectURL(downloadLink.href);
}, 100); }, 100);
successCount++; successCount++;
} catch (error) { } catch (error) {
console.error(`文件${index + 1}下载失败:`, error); console.error(`文件${index + 1}下载失败:`, error);