使用 unlink() 删除后无法提供文件

问题描述

我正在构建一个图像压缩器(带有节点,react),在通过 res.download() 提供压缩图像后,我想删除文件以节省空间。但是,如果我将 await unlink(path) 放在 res.download(path) 之后,在客户端下载失败并在服务器中显示错误如何在不将文件发送给客户端的情况下实现成功删除 我在后端的代码

app.get('/download/:imageName',async (req,res)=>{
let imageName = req.params.imageName
let path = 'uploads/'+imageName;

const compressedImage = await imagemin([path],{
    destination: "compressed",plugins: [
      imageminpngquant({
        quality: [0.6,0.8]
      }),imageminMozjpeg(),imagemingifsicle({lossy: 70}),imageminSvgo({
        plugins: extendDefaultPlugins([
            {name: 'removeViewBox',active: false}
        ])
        })
    ]
  });

   await res.download(process.cwd()+"/"+compressedImage[0].destinationPath)
   let compressedPath = 'compressed/'+path
   await unlink(compressedPath,(err)=>{
        if(err) throw err;
        console.log(compressedPath+ " hase been deleted")
    })
})

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)