0
我复制了本页教程中的源代码,所以我必须在某处出现我的文件路径有问题。下面是我得到使用NODEjs获取fs.rename的错误
错误 - > 错误的错误:ENOENT:没有这样的文件或目录,重命名 'C:\用户\ Amazo \应用程序数据\本地的\ Temp \ 3OOis2VHktYYKr2gQCX97Y2X.jpg' - >“C:\用户\ Amazo \的NodeJS \ SocialMediaProject1 \上传\ 568ab3707d355a981c73d41dWed 2016年1月6日8时26分35秒GMT-0600(中部标准时间)207330aba4a36cea73e8ed6fda9cb012.jpg”
这里是我的代码:
var User = require('../datasets/users');
var fs = require('fs-extra');
var path = require('path');
module.exports.updatePhoto = function (req, res){
var file = req.files.file;
var userId = req.body.userId;
console.log("User " + userId + " is submitting " , file);
var uploadDate = new Date();
var tempPath = file.path;
var targetPath = path.join(__dirname, "../../uploads/" + userId + uploadDate + file.name);
var savePath = "/uploads/" + userId + uploadDate + file.name;
fs.rename(tempPath, targetPath, function (err){
if (err){
console.log(err)
} else {
User.findById(userId, function(err, userData){
var user = userData;
user.image = savePath;
user.save(function(err){
if (err){
console.log("failed save")
res.json({status: 500})
} else {
console.log("save successful");
res.json({status: 200})
}
})
})
}
})
};
你检查了给定的路径和文件名,并且文件确实存在,即使节点说它不存在,现在你想知道为什么Node没有找到明确存在的文件,只是在哪里它说它不应该。 – adeneo
是的,当我进入C:\ Users \ Amazo \ AppData \ Local \ Temp \ 3OOis2VHktYYKr2gQCX97Y2X.jpg,那里是100%。出于某种原因解决了这个问题的是我在新的Date()部分放置了.toISOString。所以var uploadDate = new Date()。toISOString和它的工作原理为什么我不得不补充,但他不?说实话,我不知道那是什么。 – NewbieCoder