GAE Python 如何在上传时检查文件类型
我正在尝试创建一个谷歌应用引擎(Python)应用,让人们可以分享文件。我已经成功实现了文件上传,但我担心的是检查文件的扩展名,确保文件是只读的,另外还要确认文件类型是否符合要求。这些文件不会是图片文件,因为我知道已经有很多图片资源了。具体来说,我想处理的是.stl网格文件,但我希望能更广泛地适用。
我知道有一些模块可以做到这一点,比如python-magic似乎可以实现,但我找不到可以导入的模块,因为它受到了LoadModuleRestricted的限制。我在考虑自己写一个解析器,但这对于一个这么常见的问题(我猜是这样)来说,会需要很多工作。
总之,我完全被难住了,这是我第一次在StackOverflow提问,希望我遵循了礼仪。如果有问题请告诉我,谢谢!
1 个回答
1
听起来你想要读取上传文件的前几个字节,以确认它的签名和声称的文件类型是否匹配。假设你是通过一个从 blobstore.get_upload_url()
获取的链接来上传文件的,那么在你被重定向到你给 get_upload_url
的上传处理程序路径后,你可以使用 BlobReader 来打开这个 blob,然后读取并验证它的签名。
Blobstore 示例应用 提供了一个框架。当你获得 blob_info
后,你可以在 UploadHandler
中添加代码(使用 blob_info.key()
来打开这个 blob)。