GAE Python如何在上传时检查文件类型

GAE Python如何在上传时检查文件类型,python,google-app-engine,parsing,upload,Python,Google App Engine,Parsing,Upload,所以,我正在尝试创建一个允许人们共享文件的google应用程序引擎(python)应用程序。我的文件上传工作正常,但我关心的是检查文件扩展名,首先确保文件是只读的,其次确保它们是指定的文件类型。这些将不是图像文件,因为大家都知道它们已经有很多图像资源了。具体来说,.stl网格文件,但我希望能够更一般地做到这一点 我知道有些模块可以做到这一点,例如python magic似乎可以做到这一点,但我似乎找不到任何可以在没有LoadModuleRequired的情况下导入的模块。我正在考虑编写自己的解析

所以,我正在尝试创建一个允许人们共享文件的google应用程序引擎(python)应用程序。我的文件上传工作正常,但我关心的是检查文件扩展名,首先确保文件是只读的,其次确保它们是指定的文件类型。这些将不是图像文件,因为大家都知道它们已经有很多图像资源了。具体来说,.stl网格文件,但我希望能够更一般地做到这一点

我知道有些模块可以做到这一点,例如python magic似乎可以做到这一点,但我似乎找不到任何可以在没有LoadModuleRequired的情况下导入的模块。我正在考虑编写自己的解析器,但对于这样一个常见的(我假设)问题,这将是大量的工作


无论如何,我完全被难住了,所以这是我的第一个问题,所以希望我在礼仪方面做得很好。让我知道,谢谢

听起来您想读取上传文件的前几个字节,以验证其签名是否与声称的mime类型匹配。假设您正在上传到blobstore(即,通过从
blobstore.get\u upload\u url()
获取的url),那么一旦您被重定向到上传处理程序,您可以使用一个url打开blob,然后读取并验证签名


布局框架。一旦有了
blob\u info
(使用
blob\u info.key()
打开blob),就可以在
UploadHandler
中粘贴代码.

听起来您想读取上载文件的前几个字节,以验证其签名是否与声称的mime类型匹配。假设您正在上载到blobstore(即,通过从
blobstore.get\u upload\u url()获取的url)
,然后,一旦重定向到上传处理程序,并将其路径指定给
get\u upload\u url
,您就可以使用打开blob,然后读取并验证签名


布局框架。一旦有了
blob\u info
(使用
blob\u info.key()
打开blob),就可以在
UploadHandler
中粘贴代码.

如果是图像,这里可能有一些链接:对不起,不是图像,我将更新问题可能的重复我的印象是mimetypes模块只是查看扩展。我担心潜在的恶意可执行文件只是有一个看起来无辜的扩展。但我可能错了。这个问题是我从中了解到的如果是图像,这里可能有一些链接:抱歉,不是图像,我将更新问题可能的副本。我的印象是mimetypes模块只是查看扩展。我担心潜在的恶意可执行文件只具有一个外观无辜的扩展名我可能错了。这个问题是我学习python魔法模块的地方,但是它在appengine上受到限制。