Multer's file
对象包含mimetype
值。文档将其描述为“文件的Mime类型”,但不提供其他详细信息。
该字段的价值如何确定?它只是客户端提供的Content-Type:
(很容易被欺骗),还是以某种方式评估上传的文件,可以帮助确定真正的文件类型?
答案 0 :(得分:1)
通过跟踪源代码,它来自content-type
标题。
以下是我的跟踪方式:
make-middleware.js in Multer:有busyboy
个流对象在file
事件上侦听并且mimetype
作为回调函数的输入参数之一。 mimetype
附加到用户获得的req.files
。
busyboy:创建busyboy
实例,其中包含由其自己的parseHeaders
和parseParams
函数解析的请求标头。您可以在content-type
标题上找到它。
进一步跟踪,您会发现applies the Dicer object收听headers
事件,并使用paresed mimeType向file
发送busyboy
个事件。