python - 如何检查在 python 中上传的内容类型文件?
问题描述
我想检查上传到我网站的文件类型。我的 HTML 中有一个<input type="file">
标签,用户可以使用它上传。有什么方法可以检查没有扩展名的文件类型是什么?
例如:
user uploads `aFile.txt`
应用输出:
uploaded file is mp3
我不想检查文件扩展名。我想检查文件的实际内容。
解决方案
使用python-magic
库
>>> import magic
>>> magic.from_file("testdata/test.pdf")
'PDF document, version 1.2'
# recommend using at least the first 2048 bytes, as less can produce incorrect identification
>>> magic.from_buffer(open("testdata/test.pdf").read(2048))
'PDF document, version 1.2'
>>> magic.from_file("testdata/test.pdf", mime=True)
'application/pdf'
推荐阅读
- r - 在 R 上构造对称矩阵
- vba - VBA 查找和替换
- sql - 日期条件的总和值
- reactjs - React CSS Modules 使用 SCSS 和全局 Mixins
- c++ - 从它(乘)继承的类的实例创建一个对象
- asp.net-core - HttpContext.User null 与经过身份验证的用户?
- composer-php - 如何为作曲家编写奇数版本约束?
- javascript - 无法打开文件对话框 Internet Explorer 11 Windows 7
- c++ - 仅声明与该类中的类具有相同类型的容器
- database - 与从应用层发送查询相比,postgresql 函数有什么好处?