2016-06-08 2 views
1

저는 NodeJS 및 웹 개발 일반적으로 매우 새롭습니다. multer를 사용하여 웹 응용 프로그램에서 단일 파일을 업로드하고 있습니다. 이 파일은 내 "업로드"폴더에 업로드되고 데이터베이스에이 경로를 저장하여이 파일에 액세스 할 수 있도록 할 계획입니다. 내가 가지고있는 문제는 그것을 표시하는 것입니다 (그것은 이미지입니다). 다음과 같이로컬 폴더에서 파일 업로드 및 표시

파일이 저장됩니다 enter image description here

내 데이터베이스에 저장되는 경로가 확실하지 않다. 업로드해야 할 파일/2e3546b428931124164022e5d1d9310e? 또는 확장 기능이 필요합니까? 파일에 대한

json으로 개체는 다음과 같습니다

{ fieldname: 'mapImage', 
    originalname: 'office-wallpaper-2.png', 
    encoding: '7bit', 
    mimetype: 'image/png', 
    destination: 'uploads/', 
    filename: '2e3546b428931124164022e5d1d9310e', 
    path: 'uploads/2e3546b428931124164022e5d1d9310e', 
    size: 736807 } 

답변

0

당신은 업로드하기 전에 파일의 이름을 변경해야합니다. 그것을 할 한 가지 간단한 방법은 다음

var storage = multer.diskStorage({ 
    destination: './public/uploads/', 
    filename: function(req, file, cb) { 
     crypto.pseudoRandomBytes(16, function(err, raw) { 
      if (err) return cb(err); 

      cb(null, raw.toString('hex') + path.extname(file.originalname)); 
     }) 
    } 
}) 

var upload = multer({ 
    storage: storage 
}) 

은 다음 데이터베이스에 파일 이름을 저장할 수있다

관련 문제