在Python中,如何获取文件的内容类型或mime类型?
可能重复:在Python中,如何获取文件的内容类型或mime类型?,python,email,file,mime,Python,Email,File,Mime,可能重复: 我正在使用一个电子邮件处理API(sendgrid.com),将所有传入的电子邮件发布到我应用程序中的web请求处理程序。附件以attachment0=xyz&attachment1=abc的形式发布,以及其他电子邮件字段,如“收件人”“抄送”“主题”等 然后,我将这些附件作为文件存储在BlobStore中(使用appengine)。要将这些文件返回给用户,必须指定mime类型/内容类型。据我所知,它通常取决于文件类型。但我不清楚如何从传递的字符串中获取文件类型 是否有一个库可以根
我正在使用一个电子邮件处理API(sendgrid.com),将所有传入的电子邮件发布到我应用程序中的web请求处理程序。附件以attachment0=xyz&attachment1=abc的形式发布,以及其他电子邮件字段,如“收件人”“抄送”“主题”等 然后,我将这些附件作为文件存储在BlobStore中(使用appengine)。要将这些文件返回给用户,必须指定mime类型/内容类型。据我所知,它通常取决于文件类型。但我不清楚如何从传递的字符串中获取文件类型 是否有一个库可以根据文件的字节内容计算出文件类型
只是澄清一下,没有文件名或文件扩展名。只有文件的字节内容。如果在上传文件时保存了文件名,则可以使用
mimetypes.guess\u type
函数在此处进行演示。亚历山大的问题很好读
不幸的是,这不是你的情况。如果您只有一个二进制blob,恐怕您必须在这里使用一些自定义的启发式方法。遵循以下简单步骤:
PK
,RAR文件以RAR
,PDF以%PDF
开头,PNG以\x89PNG
开头,依此类推
这将无法识别某些文件(例如JPG),但您在这里有了一个良好的开始
或者,您也可以使用。中接受的答案与此问题无关。然而,提到pythonmagic
是不正确的。