我在 python 中使用 requests 库来使用 http 下载图像文件。我在 python 中使用 BytesIO 将接收到的内容转换为原始字节,然后使用 Pillow() 将此原始内容保存为 jpeg 文件。
from PIL import Image
from io import BytesIO
rsp = requests.get(imageurl)
content_type_received = rsp.headers['Content-Type'] # mime type
binarycontent = BytesIO(rsp.content)
if content_type_received.startswith('image'): # image/jpeg, image/png etc
i = Image.open(binarycontent)
outfilename = os.path.join(outfolder,'myimg'+'.jpg')
with open(outfilename, 'wb') as f:
f.write(rsp.content)
rsp.close()
在上面的代码中,无论 mime 类型如何,我都强制转换为 jpg。这对我来说似乎并不好。在 python 或 Pillow 库中是否有处理 mime 子类型 image/png、image/gif 等的标准方法?