설치법 및 자세한 사용방법은 여기에 다 나와있다
https://www.npmjs.com/package/multer
간단하게 적용해본다면
var express = require('express') , multer = require('multer') , router = express.Router(); var storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, './public/uploadImg/') //원하는 저장경로를 잡으면 된다. }, filename: function (req, file, cb) { cb(null, Date.now() + "_" + file.originalname) //원하는 파일명을 셋팅하면 된다. } }); var upload = multer({ storage: storage }); router.post('/imgUpload', upload.single('필드 명'), function(req,res){ res.json({'filename' : req.file.filename}); });
필드명은 http://rimshot.tistory.com/3의 예제같은 경우 photoUP을 넣어주면 된다.
.single(fieldname) 말그대로 파일 하나만 넘어왔을때 사용하는 것이고
다중파일 선택 시에는 .array(fieldname[, maxCount])를 사용해야한다.
위 예제에서는 마지막에 셋팅한 파일명을 json형태로 클라이언트에 넘겨준다.
**만약 실행이 안될 시는 express 4이상 버전일것이다. 4버전부터는 전에는 기본적이였던 몇몇 모듈들을 수동으로 설치해야한다. 그중에 connect-busboy가 있는데 이게 없어서 실행이 안됐을 수도 있다. (https://www.npmjs.com/package/connect-busboy)
connect-busboy 설치후에 간단히 app.js 셋팅해주면 된다.
*app.js
var busboy = require('connect-busboy'); app.use(busboy());
package.json의 dependencies에 추가해줘야한다는 것도 잊지말자.
'About_Node.js' 카테고리의 다른 글
[node.js]페이지이동이나 새로고침 시 세션만료갱신 (express-session모듈) (0) | 2017.02.22 |
---|---|
[node.js]노드 개발시 추천하는 IDE (0) | 2016.11.18 |
[node.js]서버에서 동기식 반복문 돌리기 (0) | 2016.11.18 |
[node.js]화면단(ejs) 반복문 안에서 함수 사용하는 법 (0) | 2016.11.17 |