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