2016-06-21 2 views
0

나는 sails-skipper의 문서를 방금 읽었습니다. 멀티 파트 파일 업로드를 처리하는 좋은 방법 인 것 같습니다.sailsjs에서 멀티 파트가 아닌 스트림을 스트리밍하는 방법

그러나 멀티 파트 페이로드가 아닌 무언가의 업로드를 스트리밍하려면 어떻게해야합니까? - 내 경우에는 간단한 "텍스트/csv"업로드.

간단히 말해서 request.pipe를 사용해 보았습니다 ... 그러나 이것은 효과가없는 것 같습니다.

답변

0

그리고 대답은 ... 선장이 여기서 도움을주지 않을 것입니다. 오히려, (일반 익스프레스 앱에서와 마찬가지로) req._body = true을 상류의 bodyParser (바코드는 기본적으로 돛에 대해)라고 속이는 선장 앞에 middleware을 사용하십시오. 설정에서 내 경우

/http.js :

var typeIs = require('type-is'); 

module.exports.http = { 

    middleware: { 

    order: [ 
     ... 
     'dontParseCSV', 
     ... 
     'bodyParser', 
     ... 
    ], 
    dontParseCSV: function (req, res, next) { 
     if(typeIs(req, 'csv')) { 
     // fool body parser into thinking already parsed 
     // so we can stream csv 
     req._body = true; 
     } 
     next(); 
    }, 
    ... 
    } 
}; 

라우터는 bodyParser 뒤에 오는, 그래서 (당신이 원하는 적어도 경우 단지 특정 경로에 대한 이 작업을 수행하는 불편 약간 수 있습니다 라우터가 경로를 인식하고 정규 표현식을 해킹하지 않고 :)). 내 경우에는 다른 모든 경로가 json 만 허용하므로 문제가되지 않습니다.