gpt4 book ai didi

Python:检查上传的文件是否为jpg

转载 作者:太空狗 更新时间:2023-10-29 16:58:41 27 4
gpt4 key购买 nike

如何在 Python (Google App Engine) 中检查用户上传的文件是否为真实的 jpg 文件?

这是我到目前为止的进展:

脚本通过 HTML Form Post 接收图像,并由以下代码处理

...
incomming_image = self.request.get("img")
image = db.Blob(incomming_image)
...

我找到了 mimetypes.guess_type,但它对我不起作用。

最佳答案

如果您需要的不仅仅是查看扩展名,一种方法是读取 JPEG header ,并检查它是否与有效数据匹配。其格式为:

Start Marker  | JFIF Marker | Header Length | Identifier
0xff, 0xd8 | 0xff, 0xe0 | 2-bytes | "JFIF\0"

所以快速识别器将是:

def is_jpg(filename):
data = open(filename,'rb').read(11)
if data[:4] != '\xff\xd8\xff\xe0': return False
if data[6:] != 'JFIF\0': return False
return True

然而,这不会捕获正文中的任何不良数据。如果你想要更强大的检查,你可以尝试加载它 PIL .例如:

from PIL import Image
def is_jpg(filename):
try:
i=Image.open(filename)
return i.format =='JPEG'
except IOError:
return False

关于Python:检查上传的文件是否为jpg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/266648/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com