错误信息: ENOENT, open ‘uploads/7472-1m5i0xy.jpg’ 400 Error: ENOENT, open ‘uploads/7472-1m5i0xy.jpg’ at Error (native)
表单信息:
<form action="upload" method="post" enctype="multipart/form-data"> <input type="file" name="pic"> <input type="submit"> </form>处理图片上传的upload函数内容已全注释,写了一个console(“”);但是并未到达此函数即报400错误。
@pfcoder 现在发现与标题的描述问题无关,我指定了图片的上传路径后,这个错误就出来了,app.use(express.bodyParser({uploadDir:’./uploads’}));,出掉花括号的内容,可以获取到图片内容,但运行到转移至新目录时,就会报错。
@pfcoder
后台处理函数,没有指定上传的目录
var pic = req.files.pic.size+’***’+req.files.pic.name;
console.log(req.body.username);
console.log(req.body.password);
console.log(req.files.pic.name);
var fs = require(‘fs’);
//临时目录
var temp_path = req.files.pic.path;
//新的目录
var new_path = './public/images/'+req.files.pic.name;
//移动文件到新目录
fs.rename(temp_path,new_path,function(err){
if (err) throw err;
res.send("Upload success");
});
报错信息:
Error: ENOENT, rename '/tmp/4079-geghw2.jpg'
at Error (native)
@lu-zhishen fs调用中’.’代表的是node执行路径,可能不一定刚好匹配你想要的当前路径,你可以尝试改成__dirname + '/public/images/'
, 并确保 images路径存在