2

我使用 express js 作为后端。

每个用户可以上传 3/5 个文件。管理员可以从仪表板下载文件作为 zip 文件。

我正在使用ADM-ZIP压缩文件并下载 zip。

 const zip = new AdmZip();
   const uploadDir = await fsPromises.readdir("./static/uploads/applications/"+user.id);

  for(var i = 0; i < uploadDir.length;i++){
    zip.addLocalFile('./static/uploads/applications/'+user.id+'/'+uploadDir[i]);
  }
 
  const downloadName = `${user.name}.zip`;

  const data = await zip.toBuffer();

  res.set('Content-Type','application/octet-stream');
  res.set('Content-Disposition',`attachment; filename=${downloadName}`);
  res.set('Content-Length',data.length);
 return  res.send(data);

代码工作正常。但我注意到按下下载时 CPU 使用率很高。

这在快递中发生是正常的吗?这种方法适用于压缩多个文件并下载它们吗?

我是新来表达的,所以我有点担心采用这种方法会遇到问题。

4

0 回答 0