2016-09-21 2 views
0
var multer = require('multer'); 
var storage = multer.diskStorage({ 
    destination: function (req, file, cb) { 
     cb(null, './uploads/') 
    }, 
    filename: function (req, file, cb) { 
     cb(null, file.originalname+ '-' + Date.now()+'.jpg') 
    } 
}); 
var upload = multer({ storage: storage }); 

app.post('/multer', upload.single('file')); 

내가 원하는 파일의 API 경로를 타격 후 또는 우리는 위의 코드로 작성된 파일 이름을 console.log파일 복사 경로는

답변

0

왜에 표시해야한다 말할 수 있습니다 :

var multer = require('multer'); 
var storage = multer.diskStorage({ 
    destination: function (req, file, cb) { 
      cb(null, './uploads/') 
    }, 
    filename: function (req, file, cb) { 
    var fileName = file.originalname+ '-' + Date.now()+'.jpg'; 
    console.log(fileName); 
    cb(null, fileName); 
    } 
    }); 
var upload = multer({ storage: storage }); 

app.post('/multer', upload.single('file')); 

편집는 :

app.post('/multer', upload.single('file'), function(req, res) { 
    console.log(req.body); // form fields 
    /* example output: 
    { title: 'abc' } 
    */ 
    console.log(req.file); // form files 
    /* example output: 
      { fieldname: 'upl', 
       originalname: 'grumpy.png', 
       encoding: '7bit', 
       mimetype: 'image/png', 
       destination: './uploads/', 
       filename: '436ec561793aa4dc475a88e84776b1b9', 
       path: 'uploads/436ec561793aa4dc475a88e84776b1b9', 
       size: 277056 } 
    */ 
    res.status(204).end(); 
}); 
다음 정보가 나중에 사용하려면 가장 좋은 방법은 예를 들어, app.post 위해 추가 미들웨어를 추가하는 것입니다

console.log(req.file);을 mongodb 전화로 바꾸십시오.

+0

파일 경로를 mongo 데이터베이스에 보낼 수 있습니까? PLZ이 작업을 수행하는 방법 –

+0

요구 사항이 편집 된 답변 – greuze

+0

Upload.single ('file') 및 function (req, res) {}. .... 하나가 작동하면 다른 작동하지 않습니다 그리고 동시에 실행되지 ... 콜백이 필요하지만 dnt 방법을 알고있다 생각 –