Login
网站首页 > 文章中心 > 其它

flask 实现上传图片并缩放作为头像的例子

作者:小编 更新时间:2023-09-16 14:37:42 浏览量:421人看过

这里有两个示例说明:实现在 Flask 应用中上传图片并缩放作为头像.

示例 1:上传图片并保存到本地


from flask import Flask, request, redirect
from werkzeug.utils import secure_filename

app = Flask(__name__)

app.config['UPLOAD_FOLDER'] = '/path/to/uploads'

@app.route('/upload', methods=['POST'])
def upload_file():
file = request.files['file']
if file:
    filename = secure_filename(file.filename)
    file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
    return 'File uploaded successfully'
else:
    return 'No file uploaded'


这个示例展示了如何在 Flask 应用中上传图片,并将其保存到指定的本地文件夹中.首先设置文件上传的目标文件夹 UPLOAD_FOLDER,然后在路由 /upload 中检查请求是否包含文件.如果请求中包含文件,将其保存到指定目录中.

示例 2:上传图片并对其进行缩放


from flask import Flask, request, redirect, render_template
from PIL import Image

app = Flask(__name__)

app.config['UPLOAD_FOLDER'] = '/path/to/uploads'
app.config['ALLOWED_EXTENSIONS'] = set(['png', 'jpg', 'jpeg', 'gif'])

def allowed_file(filename):
return '.' in filename and \
       filename.rsplit('.', 1)[1] in app.config['ALLOWED_EXTENSIONS']

@app.route('/')
def upload_form():
return render_template('upload.html')

@app.route('/upload', methods=['POST'])
def upload_file():
file = request.files['file']
if file and allowed_file(file.filename):
    filename = secure_filename(file.filename)
    file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
    image = Image.open(os.path.join(app.config['UPLOAD_FOLDER'], filename))
    image.thumbnail((128, 128))
    image.save(os.path.join(app.config['UPLOAD_FOLDER'], 'thumb_' ◆ filename))
    return 'File uploaded successfully'
else:
    return 'Please upload a valid image file'


这个示例展示了如何在 Flask 应用中上传图片,并对其进行缩放.首先设置文件上传的目标文件夹 UPLOAD_FOLDER,以及允许上传的文件扩展名 ALLOWED_EXTENSIONS.然后定义一个方法 allowed_file,用于检查上传的文件是否属于允许上传的文件类型.在路由 / 上展示一个上传图片的表单,向路由 /upload 提交时,检查上传的文件是否属于允许上传的文件类型,并保存到指定目录中.然后使用 Pillow 库打开图片,并对图片进行缩放,最后将缩略图保存到指定目录中.

好了,全部的两个示例的完整攻略,您可以参考并进行自己的代码实现.

以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章