我做个个人信息添加修改页面,主页有个add ,点进去跳转到个人信息页面,有名字邮箱还有个图上传
,关于图片上传我用了ajax,,但是不知道为什么,到处理文件那步骤就卡住了,想让他返回错误也
没返回。
try {
var form = new formidable.IncomingForm();
form.encoding = 'utf-8'; //设置编码为‘uft-8’
form.uploadDir = 'public/temp/'; //设置临时目录
form.keepExtensions = true; //保留图片后缀
var maxSize = 1 * 1024 * 1024; //最大1M
var sublength = form.uploadDir.length;
res.json({
code: 200,
message: {
"url": 'uploads/',
'form': form
}
});
return;
form.on('file', function(field, file) {
console.log(file);
//var fileType = file.path.substring(file.path.lastIndexOf("."));
console.log(fileType);
if ('.jpg.jpeg.png.gif'.indexOf(fileType.toLowerCase()) != -1 && file.size <= maxSize) { //如果复合要求
var readFs = fs.createReadStream(form.uploadDir + file.path.substring(sublength)); //创建读取目录
var writeFs = fs.createWriteStream('public/uploads/' + file.path.substring(sublength)); //创建写入路径
readFs.pipe(writeFs); //类似复制粘贴
res.json({
code: 200,
message: {
"url": 'uploads/' + file.path.substring(sublength)
}
}); //返回json信息
} else {
res.json({
code: 401,
message: {
'warn': "图片格式不正确!需要不大于1M且支持gif,png,jpg"
}
});
}
});
/*form.parse(req,function(error,fileld,files){
res.writeHead(200,{'content-type': 'test/plain'})
res.write('upload')
res.end()
})*/
form.error(function(e) {
res.json({
code: 500,
message: {
error: e
}
})
})
/* form.parse(req);
form.on('files',function(field,file){
if(file.path){
fs.unlink(file.path,function(err){
if(err){
console.log(err);
}
});//清除缓存
}
});*/
} catch (e) {
res.json({
code: '500',
message: e
})
}
//
exports.upload_delete = function(req, res) { //这里是删除指定图片
var user_delete = req.body.deleteText;
fs.unlink('public/' + user_delete);
res.send(200);
};
源码地址在https://pan.baidu.com/s/1dFwxkZn 没病毒 ,初学者,求指导 弄了大半天
如果有错误的话,调试工具会抛出错误信息。但不知道你为何没有看到错误信息
另外,你可以试着在代码里面将可能的错误信息打印出来。例如,你的mongoose的error信息没有打印出来的。
供参考。
Love MongoDB! Have Fun!
MongoDB中文社区线下活动缤纷,请猛戳下方:
2017华山论剑|MongoDB中文社区