所以,我正在尝试创建一个允许人们共享文件的谷歌应用引擎(python)应用。我有文件上传工作正常,但我关心的是检查文件扩展名并确保主要是文件是只读的,其次,它们是指定的文件类型。这些不是图像文件,因为知道它们已经是很多图像资源。具体来说,.stl网格文件,但我希望能够更普遍地做到这一点。
我知道有些模块可以做到这一点,python-magic似乎能够做到这一点,但我似乎无法找到任何我能够导入而没有LoadModuleRestricted。我正在考虑编写自己的解析器,但对于这样一个常见的(我假设)问题,这将是很多工作。
无论如何,我完全难过,所以这是我的第一个stackoverflow问题,所以希望我做得很好礼仪明智。让我知道,谢谢!
答案 0 :(得分:1)
听起来您想要读取上传文件的前几个字节,以验证其签名是否与声称的mime类型匹配。假设您正在上传到blobstore(即通过从blobstore.get_upload_url()
获取的网址,那么一旦您被重定向到您向get_upload_url
提供路径的上传处理程序,您就可以使用{打开blob {3}},然后阅读并验证签名。
BlobReader列出了框架。一旦有UploadHandler
(使用blob_info
打开blob),就会在blob_info.key()
中粘贴代码。