gpt4 book ai didi

node.js - fs.unlink 不会删除文件

转载 作者:太空宇宙 更新时间:2023-11-04 01:05:46 24 4
gpt4 key购买 nike

在我的 Express 服务器上,我想获取用户上传的文件并将其重命名以匹配他们的用户名。如果用户上传新文件,则之前的文件将被替换。

代码如下:

  var newPath = 'uploads/' + user.username + '.' + (file.extension).toLowerCase();
var basePath = path.resolve(__dirname + '../../../') + '/';

// Copy, rename and delete temp file
var is = fs.createReadStream(basePath + file.path);
var os = fs.createWriteStream(basePath + newPath);

is.pipe(os);
is.on('end', function (error) {
if (err) return res.send(500);
fs.unlink(basePath + file.path);
});

问题是 fs.unlink(basePath + file.path); 实际上并没有删除我的计算机 (OSX 10.9.2) 上的旧文件。我如何确保临时文件已删除?

最佳答案

文件basePath + file.path具有读取流is的链接引用。文件内容的删除应推迟到所有对该文件的引用都已关闭为止。您可能需要在 close 事件上调用 fs.unlink

关于node.js - fs.unlink 不会删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23225114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com