flask 通过表单 'POST' 提交用户名,返回生成 头像.png,头像图片可以显示,但不能保存。找
时间: 2020-08-21来源:V2EX
前景提要
功能很简单,就是用户通过表单 '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') 方式二:如果是用户通过表单提交用户名,生成 portrait.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 里同时“生成”图片并“返回”图片
这个问题搜了不少地方,都没有看到类似的问题和解决方法。不清楚问题到底处在哪儿了

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行