检测文件类型而不考虑文件扩展名(NodeJS)
Detect file type irrespective of file extension (NodeJS)
将 NodeJS 与 multer 结合使用,是否可以检测文件的真实文件类型,而不考虑其扩展名?
场景:您只允许上传某些文件类型(.jpeg
和 .docx
)用户获取文件 pictures.rar
,将其重命名为 pictures.docx
并继续上传文件。您的服务器只需要文档和图像文件,因此在尝试阅读 docx 时会崩溃。
显然这是用户错误,但有没有办法检测到并停止继续?
您可以使用一个模块来检测文件类型,但如果服务器上没有它,您将无法检查它。所以在上传文件后你测试它的类型。
文件类型的模块 nodjs:https://www.npmjs.com/package/file-type
您可以使用文件元数据 npm 包来获取文件元数据并从那里提取 mime 类型
https://www.npmjs.com/package/file-metadata
将 NodeJS 与 multer 结合使用,是否可以检测文件的真实文件类型,而不考虑其扩展名?
场景:您只允许上传某些文件类型(.jpeg
和 .docx
)用户获取文件 pictures.rar
,将其重命名为 pictures.docx
并继续上传文件。您的服务器只需要文档和图像文件,因此在尝试阅读 docx 时会崩溃。
显然这是用户错误,但有没有办法检测到并停止继续?
您可以使用一个模块来检测文件类型,但如果服务器上没有它,您将无法检查它。所以在上传文件后你测试它的类型。
文件类型的模块 nodjs:https://www.npmjs.com/package/file-type
您可以使用文件元数据 npm 包来获取文件元数据并从那里提取 mime 类型 https://www.npmjs.com/package/file-metadata