PHP中文网2017-04-17 16:46:27
표현
양식 添加这个:enctype="multipart/form-data"
<코드>입력(유형="파일")
사용
var multiparty = require('connect-multiparty')
var multipartMiddleware = multiparty();
路由
app.post('/movie/save',multipartMiddleware,Movie.savePoster,Movie.save)
巴扎黑2017-04-17 16:46:27
express는 connect-busboy를 사용하여 이미지 업로드의 multipart/*
데이터를 처리합니다.
샘플 코드 데모는 다음과 같습니다
阿神2017-04-17 16:46:27
formidable을 사용하는 것이 좋습니다. 지난 며칠간 연습한 결과 formidable의 API 디자인은 더 합리적이고 더 많은 사용자 정의 작업을 용이하게 합니다. 가장 중요한 것은 여러 파일 업로드를 지원한다는 것입니다.
connect-busboy는 위의 장점이 없으며 멀티파트를 지원하지 않습니다
高洛峰2017-04-17 16:46:27
app.post('/ava',multipart(),function(req, res){
var filename = req.files.avatar.originalFilename || path.basename(req.files.avatar.path);
var targetPath = 경로명 + '/image_repository/avatar/' + 파일명;
fs.createReadStream(req.files.avatar.path).pipe(fs.createWriteStream(targetPath));
var _url = '/avatar/' + 파일명;
console.log(_url);
console.log(targetPath);
var _name = req.session.user;
//사용 모듈 방법 保存数据
User.update({name:_name},{$set:{avatar:_url}},function(err){
만약 (err) throw err;
});
res.json({
코드타입 : 200,
msg:{url:'http://' + req.headers.host + '/' + 파일 이름},
URL:_url
});
//사용 엔터티 방법保存数据,效果상동
//User.findOne({name:_name},function(err, doc){
// (err)이면 throw err;
// if (문서){
// doc.set({avatar:targetPath});
// doc.save();
// }또 다른{
// console.log('사용자 없음');
// }
//});
//res.json({
// 코드 유형 : 200,
// msg:{url:'http://' + req.headers.host + '/' + 파일 이름},
// URL:_url
//});
//var _img = req.files;
// console.log(_img);
//res.json(_img);
});
이미지를 이전에 사용하는 양식 데이터를 사용하여 유용한 정보를 확인하세요.