2014-10-12 2 views
3

skipper를 사용하여 파일을 업로드하고 있지만 완벽하게 작동하고 있지만 saveAs 옵션에 문제가 있습니다. 함수를 통해 값을 지정하고 있지만 작동하지 않습니다. req.param ('titulo') + 파일 확장명을 saveAs 옵션에 할당 할 수 있습니까?파일 업로드 Sails JS Skipper v0.10.5

var path = require('path'); 

module.exports = { 

'save':function(req,res,next){ 

    var uploadOptions = { 
     dirname: sails.config.appPath + '/assets/books', 
     saveAs: function(file){ 
      return req.param('titulo')+path.extname(file.filename); 
     }, 
     maxBytes: 20 * 1000 * 1000 
    } 

    req.file('archivoPath').upload(uploadOptions,function(err,files){ 
     if(err){ 
      return res.serverError(err); 
     } 
     else{ 
      console.log(files); 
     } 
    }); 

    Book.create(req.params.all(),function bookCreated(err,book,next){ 
     if(err) { 
      console.log(err); 
     } 
     return res.redirect('/book/books'); 
    }); 
} 

}; 

는 또한 정말 폴더 자산의 내부는, 내 프런트 엔드에서 타이 그것을 보여주기 위해 pdf 파일을 업로드 할 수있는 좋은 장소가 될 것인지 알고 싶습니다.

saveAs: function (__newFileStream, cb) { 
    cb(null, req.param('titulo') + path.extname(__newFileStream.filename)); 
}, 
+0

당신이 다른 이름으로 저장 기능 내부'req'에 액세스 할 수 하시겠습니까 다음과

saveAs: function(file){ return req.param('titulo') + path.extname (file.filename); }, 

: – Vadorequest

+0

또한, 여기에 몇 가지 문서가 있는데, 나는 그것이 당신에게 유용 할 지, 어쩌면 다른 사람들에게 유용 할 지 모르겠습니다. https://github.com/balderdashy/skipper – Vadorequest

+0

네, 간단한 테스트를했습니다 console.log (req.param ('titulo') + path.extname (file.filename)); 콘솔에 원하는 값이 표시됩니다. – MelgoV

답변

2

는 내가 다른 이름으로 저장 기능을 대체하여 문제를 해결? 나는 확실히 모른다. `req.param ('titulo')`가 함수 자체 안에 무엇이든 있는지보십시오.
+1

(향후 뷰어 용) saveAs 매개 변수는 다음 사이트에서 설명합니다. https://www.npmjs.com/package/skipper – Shane