以下是我管理上传内容的路由器:
fs.readFile(files.photo.path, function (err, data) {
// Here is the futur name of my file (ex: SERVER_PATH/images/moka/moka22/11/2016_1.jpg)
var newPath = __dirname + "/images/moka/moka" + new Date().toLocaleDateString() + "_" + Math.floor(Math.random() * 10) + 1 + "." + ext;
fs.writeFile(newPath, data, function (err) {
if(err) {
res.render('error', { error: err, message: "Erreur lors de l'upload"});
} else {
// insctructions
});
}
});
});
当代码被触发时,我有这个错误:
Error: ENOENT: no such file or directory, open 'D:\projects\raspberry\routes\images\moka\moka2016-11-22_91.jpg'
at Error (native)
如果我很好理解fs doc(https://nodejs.org/api/fs.html#fs_fs_writefile_file_data_options_callback):
fs.writeFile(theNameOfTheFuturFile, theDataToPutIn, callback);
所以我有点困惑。
对不起我的英语,可能不好,我希望你猜到我的意思:)。
感谢。
答案 0 :(得分:0)
问题可能是你写的目录不存在。
所以确保它存在:
fs.readFile(files.photo.path, function (err, data) {
var dirPath = __dirname + "/images/moka/moka";
if (!fs.existsSync(dirPath)){
fs.mkdirSync(dirPath);
}
...
或手工完成。