认证0级讲师
표현
양식 添加这个:enctype="multipart/form-data"
enctype="multipart/form-data"
입력(유형="파일")
사용
var multiparty = require('connect-multiparty') var multipartMiddleware = multiparty();
路由app.post('/movie/save',multipartMiddleware,Movie.savePoster,Movie.save)
node express에는 자동으로 구문 분석하는 업로드 플러그인이 있으므로 디렉토리만 제공하면 되며 매우 간단합니다.
업로드된 이미지를 간단하고 명확하게 분석하려면 formidable을 사용하세요. npm에서 이 모듈의 API를 살펴보세요
express는 connect-busboy를 사용하여 이미지 업로드의 multipart/* 데이터를 처리합니다.
multipart/*
샘플 코드 데모는 다음과 같습니다
formidable을 사용하는 것이 좋습니다. 지난 며칠간 연습한 결과 formidable의 API 디자인은 더 합리적이고 더 많은 사용자 정의 작업을 용이하게 합니다. 가장 중요한 것은 여러 파일 업로드를 지원한다는 것입니다. connect-busboy는 위의 장점이 없으며 멀티파트를 지원하지 않습니다
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); });
이미지를 이전에 사용하는 양식 데이터를 사용하여 유용한 정보를 확인하세요.
표현
양식 添加这个:
enctype="multipart/form-data"
사용
路由
imports.savePoster = function(req, res, next) { var PosterData = req.files.uploadPoster var filePath = 포스터데이터.경로 var originalFilename = 포스터데이터.originalFilename if (원본파일명) { fs.readFile(filePath, function(err, data) { var 타임스탬프 = Date.now() var 유형 = PosterData.type.split('/')[1] var 포스터 = 타임스탬프 + '.' + 유형 **//특정 사용자 정의** var newPath = path.join(__dirname, '../../', '/file/images/' + 포스터) fs.writeFile(newPath, 데이터, 함수(err) { // 사용자 정의 req.poster = 포스터 다음() }) }) } 또 다른 { 다음() } } 最后可以参考:http://www.imooc.com/learn/197中关于上传海报的章节视频,这个是过期的,后面一章有升级적방법app.post('/movie/save',multipartMiddleware,Movie.savePoster,Movie.save)
node express에는 자동으로 구문 분석하는 업로드 플러그인이 있으므로 디렉토리만 제공하면 되며 매우 간단합니다.
업로드된 이미지를 간단하고 명확하게 분석하려면 formidable을 사용하세요. npm에서 이 모듈의 API를 살펴보세요
express는 connect-busboy를 사용하여 이미지 업로드의
multipart/*
데이터를 처리합니다.샘플 코드 데모는 다음과 같습니다
formidable을 사용하는 것이 좋습니다. 지난 며칠간 연습한 결과 formidable의 API 디자인은 더 합리적이고 더 많은 사용자 정의 작업을 용이하게 합니다. 가장 중요한 것은 여러 파일 업로드를 지원한다는 것입니다.
connect-busboy는 위의 장점이 없으며 멀티파트를 지원하지 않습니다
이미지를 이전에 사용하는 양식 데이터를 사용하여 유용한 정보를 확인하세요.