将文件上传到我的服务器后,我尝试将其移动到另一个文件夹(同一磁盘),但出现错误
{[Error:ENOENT,rename 'F\myproject\1b231234nsdifhoi2323']
errno:34,
code:ENOENT,
path:'F\\myproject\\1b231234nsdifhoi2323'
}
在 Windows 上使用
app.use(express.bodyParser({
uploadDir:'./Temp'
}));
这是我的重命名代码
exports.upload = function(req, res,next){
console.log( req.body);
console.log(req.files);
var tmp_path = req.files.product_video.path;
var target_path = '\\Video\\' + req.files.product_video.name;
console.log(tmp_path); // Temp\1b231234nsdifhoi2323
console.log(target_path); // \Video\name
fs.rename(tmp_path, target_path, function(err) {
if (err) {
console.log(err)
};
fs.unlink(tmp_path, function() {
if (err){
console.log(err)
}else{
res.send('File uploaded to: ' + target_path + ' - ' + req.files.product_video.size + ' bytes');
}
});
});
};
看来我走错了路,但我想不通!
最佳答案
您正在访问一个不存在的文件 - 因为路径不存在。
尝试编辑路径:
将 "F\myproject\1b2"
更改为 "F:/myproject/1b2"
或 "F:\myproject\1b2"
如果不起作用,请使用:(__dirname 将创建一个相对于脚本的路径)
__dirname + "/../../myproject\1b2"
用于调试:
尝试读取
这个文件(如果你得到同样的错误 - 这意味着路径错误并且重命名
没问题)
关于node.js fs.rename() 错误提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13132048/