【发布时间】:2020-02-16 07:25:43
【问题描述】:
这是我在这里提出的第一个问题,请原谅没有经验:-)
我有以下文件用于保存图像,然后返回文件路径/URL:
import os, requests
import secrets
from PIL import Image
from flask import url_for, current_app
def save_picture(google_url):
random_hex = secrets.token_hex(8)
i = Image.open(requests.get(google_url, stream=True).raw)
f_ext = (i.format).lower()
picture_fn = random_hex + f_ext
picture_path = os.path.join(current_app.root_path, 'static/experience_images', picture_fn)
output_size = (600, 600)
i.thumbnail(output_size)
i.show()
i.save(picture_path)
return picture_fn
我收到以下错误
raise ValueError("未知文件扩展名:{}".format(ext))
google_url 参数是一个 API URL,用于从 Google Places API 获取图像。下面当我调用i.show() 时,图像会打开,因此我知道图像正在通过,并且我可以看到在大多数情况下(尽管不一定全部)它正在返回 PNG 或 JPEG 文件。我认为问题在于我实际上没有从i 获得任何文件名,我假设这是因为它是一个临时文件。
任何帮助将不胜感激,我是 Python 的新手。
【问题讨论】:
标签: python flask python-imaging-library google-places-api