2017-01-23 4 views
0

Multer'sfile 개체에는 mimetype 값이 포함되어 있습니다. 이 문서에서는이를 "파일의 MIME 유형"으로 설명하지만 다른 세부 정보는 제공하지 않습니다.멀터는 file.mimetype 값을 어떻게 결정합니까

이 필드의 값은 어떻게 결정됩니까? 클라이언트가 제공 한 Content-Type: (쉽게 스푸핑 될 수 있음)이거나 실제 파일 형식을 결정하는 데 도움이되는 방법으로 평가 된 업로드 파일입니까?

답변

1

소스 코드를 추적하면 content-type 헤더에서 왔습니다. 여기

는 I 추적 방법이다

make-middleware.js in Multer하십시오 busyboy 스트림 오브젝트 file 이벤트를 듣고 콜백 함수의 입력 parameyer 중 하나를 갖는 mimetype가된다. mimetype은 사용자가 가지고있는 req.files에 추가됩니다.

busyboy 다음 busyboy 인스턴스가 그 자체 parseHeadersparseParams 기능에 의해 구문 분석 요청 헤더 생성됩니다. 당신은 content-type 헤더에서 뭔가를하고있는 것을 알 수 있습니다.

또한 추적, 당신은 applies the Dicer objectheaders 이벤트를 듣고 paresed 마임 타입으로 busyboyfile 이벤트를 방출 할 수 있습니다.