使用带有multer的NodeJS,是否可以检测文件的真实文件类型,而不论其扩展名是什么?
方案:您只允许上传某些文件类型(.jpeg
和.docx
)。用户获取文件pictures.rar
,将其重命名为pictures.docx
,然后继续上传文件。您的服务器仅需要文档和图像文件,因此尝试读取docx会耗费大量精力。
很明显这是用户错误,但是有办法检测到它并且不继续吗?
答案 0 :(得分:1)
您可以使用一个模块来检测文件的类型,但是如果没有将其放在服务器上,您将无法对其进行检查。因此,上传文件后,您可以测试其类型。
文件类型为https://www.npmjs.com/package/file-type的模块nodj
答案 1 :(得分:0)
您可以使用文件元数据npm包来获取文件元数据并从中提取mime类型 https://www.npmjs.com/package/file-metadata