import JSZip from 'jszip' import { saveAs } from 'file-saver' export async function downloadFilesAsZip(fileObject) { const zip = new JSZip() for (const item of fileObject.files) { try { const response = await fetch(item.url) if (!response.ok) { throw new Error(`下载失败 ${item.url}: ${response.status}`) } const blob = await response.blob() // 提取文件名,假设文件路径中最后一部分为文件名 const fileName = item.name zip.file(fileName, blob) } catch (error) { console.error(`下载失败 ${item.url}:`, error) } } // 生成压缩文件 try { const content = await zip.generateAsync({ type: 'blob' }); // 保存压缩文件 saveAs(content, fileObject.zipName); } catch (error) { console.error('生成ZIP错误', error); } }