3

我需要能够在服务器上上传文件,但在上传之前,我想验证这个文件是图像还是名为 image.jpeg 的脚本。为此,我正在使用一个名为python-magic

import magic

attachment = request.FILES['file'].read()
m = magic.open(magic.MAGIC_MIME_TYPE)
m.load()
ft = m.buffer(attachment)
m.close()

它对我来说工作正常。但是我应该阅读整个文件吗?

 attachment = request.FILES['file'].read()

我认为这是一个坏主意,所以我的问题是文件头的重量是多少?所以我只能读取几个字节并验证文件的 mime 类型。

4

1 回答 1

1

您可以首先按照此处的建议使用mimetype模块猜测 mimetype 。如果您对猜测没问题,请将文件上传到您的网络服务器。如果您之后将访问该文件,您可以使用您提供的源进行整个检查,因为无论如何您都必须阅读该文件。

于 2013-04-05T09:13:44.577 回答