美文网首页
[Django] 文件类型推断

[Django] 文件类型推断

作者: alue | 来源:发表于2022-04-19 14:01 被阅读0次

任务:用户可以上传任意类型文件,后端自动识别文件类型。

这个业务需求来源于最近开发的知识图谱。图谱中,针对每个节点对象,用户都可以关联各种类型的附件。

但页面渲染时,需要根据附件类型,来选择合适的渲染方式。

可以在用户上传附件时,手动选择文件类型。但这样既费时,又需要做错误处理,非常不科学。

后端可以根据文件的后缀名来判断文件类型,例如.jpg/.png等结尾的,就划分为图片,.mp4/.flv结尾的就划分为视频等。这样能够应付大部分场景,除非用户搞坏,故意修改文件后缀。

但真要又这样的需求,该怎么处理呢?

这里推荐一个python工具包filetype,它通过检测“magic number”——一种文件特征,来快速判断文件类型。

例如所有pdf文件的开头都是16进制的25 50 44 46 , GIF文件开头的ASCII码是GIF89a或者GIF87a等。

通过这种特征检测,filetype能够快速推断出文件类型。

相关文章

  • [Django] 文件类型推断

    任务:用户可以上传任意类型文件,后端自动识别文件类型。 这个业务需求来源于最近开发的知识图谱。图谱中,针对每个节点...

  • Linux下文件类型及查看方法

    一、Linux下七种文件类型 文件类型标识文件类型解释通过颜色来区分-普通文件Linux中最多的一种文件类型, 包...

  • linux 文件权限

    执行命令ll 当文件类型为[* d* ]则是目录 当文件类型为[* -* ]则是文件; 若文件类型是[* l* ]...

  • 14 模板实参推断

    推断的过程 每个实参-参数对的推断都是独立的,如果结果矛盾推断就会失败 即使所有推断不发生矛盾,也可能推断失败 对...

  • Linux命令学习手册-file

    功能 辨识文件类型。 举例 检查文件类型 输入之后,输出如下: 检查文件类型,不输出文件名 输入之后,输出如下: ...

  • 13.stat函数的应用案例

    用代码判断文件类型 文件类型就是-、d、l···· 文件属性中的文件类型标志在struct stat结构体的mod...

  • 推断

    湖边散步,一对男女快步超过我大踏步向前走着,我在猜测他们是夫妻还是父女?他们大步走着,没有说话,没有回头。 我断定...

  • 2018-09-30 001 编码规范

    文件类型与编码规范 文件类型 Python的文件类型有三种,包括.py、.pyc、.pyo三种,其中py文件类似C...

  • 假设检验之概念篇

    一、几个概念 1、统计推断 由样本信息对相应总体的特征进行推断称为统计推断, 简言之,由样本推断总体的方法称为统计...

  • Android 文件处理

    获取文件类型并调用系统应用打开相应文件 附,相应文件类型跳转type

网友评论

      本文标题:[Django] 文件类型推断

      本文链接:https://www.haomeiwen.com/subject/tspsertx.html