微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决使用 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 举报,一经查实,本站将立刻删除。