我正在用强大的 NodeJS 处理文件上传。这对我有用。现在我想进一步构建上传内容。我正在通过我的上传从角度传递一个字段,这是一个project_id
. 我想在我的上传文件中创建一个以此 ID 命名的文件夹并将文件写入其中。
所以我检查目录是否存在,如果不存在,我创建它fs.mkdir
然后将文件写入它。尝试这个,我得到一个EINVAL, rename
错误和一个 HTTP 500 状态代码。
这是我的尝试,有人知道如何解决这个问题吗?
app.post('/uploads/', function(req, res, next){
var form = new formidable.IncomingForm();
form.keepExtensions = true;
form.parse(req, function(err, fields, files){
if (err) next (err);
fs.exists('uploads/' + fields.project_id + '/', function (exists){
if (exists) {
fs.rename(files.upload.path, 'uploads/' + fields.project_id + '/' +files.upload.name, function(err){
if (err) next (err);
res.render('profile.ejs',{
user: req.user
});
});
} else {
fs.mkdir('uploads/' + fields.project_id + '/', function (err){
if (err) next (err);
});
fs.rename(files.upload.path, 'uploads/' + fields.project_id + '/' + files.upload.name, function(err){
if(err) next (err);
res.render('profile.ejs',{
user:req.user
});
});
}
});
});
});