servlet信息能接收到,formdata提交图片后台报错,谁有代码示例呀,servlet来接收图片过来
http://blog.csdn.net/landl_ww/article/details/76766912
html部分
<form method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="name">标题:</label>
<input type="text" class="form-control" name="title" placeholder="输入标题">
</div>
<div class="form-group">
<label for="name">文章</label>
<textarea class="form-control" name="article" rows="8"></textarea>
</div>
<div class="form-group">
<label for="name">图片</label>
<input type="file" name="postImg" />
</div>
<hr />
<input type="hidden" name="pv" value=0 >
<input type="submit" value="发表" class="btn btn-default"/>
</form>
后台请求部分:
router.post('/post',function(req,res,next){
var imgPath = path.dirname(__dirname) + '/public/images/';
var form = new formidable.IncomingForm(); //创建上传表单
form.encoding = 'utf-8'; //设置编辑
form.uploadDir = imgPath; //设置上传目录
form.keepExtensions = true; //保留后缀
form.maxFieldsSize = 2 * 1024 * 1024; //文件大小
form.type = true;
form.parse(req, function(err, fields, files) {
if (err) {
console.log(err);
req.flash('error','图片上传失败');
return;
}
var file = files.postImg;//获取上传文件信息
if(file.type != 'image/png' && file.type != 'image/jpeg' && file.type != 'image/gif' && file.type != 'image/jpg'){
console.log('上传文件格式错误,只支持png,jpeg,gif');
req.flash('error','上传文件格式错误,只支持png,jpeg,gif');
return res.redirect('/upload');
}
var title = fields.title;
var author = req.session.user.username;
var article = fields.article;
var postImg = file.path.split(path.sep).pop();
var pv = fields.pv;
// 校验参数
try {
if (!title.length) {
throw new Error('请填写标题');
}
if (!article.length) {
throw new Error('请填写内容');
}
} catch (e) {
req.flash('error', e.message);
return res.redirect('back');
}
var post = new Post({
title:title,
author:author,
article:article,
postImg:postImg,
publishTime:moment(new Date()).format('YYYY-MM-DD HH:mm:ss').toString(),
pv:pv
});
post.save(function(err){
if(err){
console.log('文章发表出现错误');
req.flash('error','文章发表出现错误');
return res.redirect('/post');
}
console.log('文章录入成功');
req.flash('success','文章录入成功');
res.redirect('/');
});
});
});
看看这个例子:http://blog.csdn.net/dsl815721035/article/details/52900921