功能很简单,就是用户通过表单 'POST' 提交用户名,然后根据用户名生成一个用户头像的 portrait.png 的 图片返回。
def generate_portrait():
user_img = Image.open('portrait.png')
out = BytesIO()
user_img.save(out, 'PNG')
out.seek(0)
return send_file(out, mimetype='image/png')
def generate_portrait():
form = PortraitForm()
if form.validate_on_submit():
... some code to generate portrait.png and save to local disk ...
user_img = Image.open('portrait.png')
out = BytesIO()
user_img.save(out, 'PNG')
out.seek(0)
return send_file(out, mimetype='image/png')
....
看起来方式一、和方式二并没有大的区别,方式二我也把 portrait.png 先落盘存到磁盘上,再读取返回,也不行。
方式一是把图片生成和返回在 2 个 request 里完成的,方式二就是在 1 个 request 里同时“生成”图片并“返回”图片
这个问题搜了不少地方,都没有看到类似的问题和解决方法。不清楚问题到底处在哪儿了
1
nu11001 2020-07-25 23:23:43 +08:00
保存图片是 GET 请求,你把 POST 的参数放到 GET 里就可以了
|