Flask实现图片的上传、下载及展示示例代码实现图片的上传、下载及展示示例代码
主要介绍了Flask实现图片的上传、下载及展示示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个
参考。一起跟随小编过来看看吧
用Flask处理图片非常容易,这一篇学习一下图片的上传、下载及展示。还是以实例代码演示为主。
首先,实现一个简单的上传(过程中未做任何处理,只是为了演示)
点击选择图片,输入李四:
HTML代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div>
<form method="post" action="http://localhost:5000/up_photo" enctype="multipart/form-data">
<input type="file" size="30" name="photo"/>
<br>
<input type="text" class="txt_input" name="name" style="margin-top:15px;"/>
<input type="submit" value="提交信息" class="button-new" style="margin-top:15px;"/>
</form>
</div>
</body>
</html>
点击提交信息后,通过 http://localhost:5000/up_photo,传递到后台对应的路由处理,查看控制台:
后台接收的路由代码:
basedir = os.path.abspath(os.path.dirname(__file__))
@app.route('/up_photo', methods=['post'])
def up_photo():
img = request.files.get('txt_photo')
username = request.form.get("name")
path = basedir+"/static/photo/"
file_path = path+img.filename
img.save(file_path)
print '上传头像成功,上传的用户是:'+username
return render_template('index.html')
此时,我们查看static/photo时,已经可以看到我们点击上传的图片了。
以上是最简单的一个文件上传示例,我们实际使用中基本不可能这样去写,通常会做一些处理。例如:上传后做图片名称唯一
性的处理、限制上传文件的类型、无论上传成功或者失败,都去做一些返回提示等等。
限制上传文件类型限制上传文件类型,例如,我们希望用户上传的文件为图片类型
ALLOWED_EXTENSIONS = set(['png', 'jpg', 'JPG', 'PNG', 'gif', 'GIF'])