multer如何确定file.mimetype的值

时间:2017-01-23 21:11:26

标签: javascript node.js multer

Multer's file对象包含mimetype值。文档将其描述为“文件的Mime类型”,但不提供其他详细信息。

该字段的价值如何确定?它只是客户端提供的Content-Type:(很容易被欺骗),还是以某种方式评估上传的文件,可以帮助确定真正的文件类型?

1 个答案:

答案 0 :(得分:1)

通过跟踪源代码,它来自content-type标题。

以下是我的跟踪方式:

make-middleware.js in Multer:有busyboy个流对象在file事件上侦听并且mimetype作为回调函数的输入参数之一。 mimetype附加到用户获得的req.files

busyboy:创建busyboy实例,其中包含由其自己的parseHeadersparseParams函数解析的请求标头。您可以在content-type标题上找到它。

进一步跟踪,您会发现applies the Dicer object收听headers事件,并使用paresed mimeType向file发送busyboy个事件。