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

这里有两个示例说明:实现在 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 库打开图片,并对图片进行缩放,最后将缩略图保存到指定目录中。

以上是两个示例的完整攻略,您可以参考并进行自己的代码实现。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:flask 实现上传图片并缩放作为头像的例子 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Angular 应用技巧总结

    Angular 应用技巧总结 前言 Angular 是一款流行的前端框架,它提供了丰富的功能和工具,可用于快速构建现代 Web 应用程序。本文将分享一些 Angular 应用技巧,旨在帮助开发人员更好地使用 Angular。 使用 Reactive Forms 使用 Reactive Forms 可以更好地控制表单的数据流和验证规则,并且能够在多个组件之间共…

    Flask 2023年5月15日
    00
  • Python webargs 模块的简单使用

    Python webargs 模块是一个用于验证和从请求中提取参数的工具包。它有助于在开发 Web 应用时处理复杂的查询参数,并提供了一个简单的解决方案来处理数据验证和转换。 安装 webargs 可以通过 pip 安装: pip install webargs 基本用法 引入 webargs: from webargs import fields from…

    Flask 2023年5月15日
    00
  • Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程

    下面我将为您详细介绍如何在Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程。 什么是Flask-SQLAlchemy Flask-SQLAlchemy是Flask框架下的SQLAlchemy扩展,它简化了SQLAlchemy的使用,提供了更符合Flask特性的接口,使开发者能够更加便捷地管理数据库。 安装Flask-SQLA…

    Flask 2023年5月15日
    00
  • Django中信号signals的简单使用方法

    下面是Django中信号signals的简单使用方法: 什么是信号signals? 信号signals是Django提供的一种机制,通过该机制,某些操作的完成可以触发指定的处理函数,我们可以在这些处理函数中实现一些自己想要的操作。比如:在用户注册成功后,我们想给他发送一封欢迎电子邮件,那么我们就可以使用信号来实现这个功能。 Django中的信号signals…

    Flask 2023年5月16日
    00
  • Flask框架运用Ajax实现轮询动态绘图

    首先,需要说明一下什么是Flask框架和Ajax。 Flask框架是一种基于Python的轻量级Web应用框架,它提供了一系列的工具和库,用于处理Web应用的常见任务,如路由、表单处理、会话管理等等。 Ajax是一种用于在Web应用中向服务器发出异步HTTP请求的技术,其最大的优点是,能够不刷新整个页面的情况下,更新Web页面的局部内容。 因此,结合这两者,…

    Flask 2023年5月16日
    00
  • python案例中Flask全局配置示例详解

    我会详细讲解“python案例中Flask全局配置示例详解”的完整攻略,包含两条示例说明。 示例1:应用程序配置 在Flask中,应用程序配置代表应用程序级别的配置。这些配置可以通过修改应用程序实例的app.config字典来完成,如下所示: from flask import Flask app = Flask(__name__) app.config[‘…

    Flask 2023年5月15日
    00
  • 一个基于flask的web应用诞生 bootstrap框架美化(3)

    我将详细讲解“一个基于flask的web应用诞生 bootstrap框架美化(3)”的完整攻略。 本篇攻略主要讲解如何通过使用Bootstrap框架来美化Flask应用程序。 示例1:使用Bootstrap的导航栏 首先,在HTML文件中引入Bootstrap的CSS和JS文件: <!DOCTYPE html> <html> <…

    Flask 2023年5月15日
    00
  • Python WEB应用部署的实现方法

    Python WEB应用部署的实现方法有很多,这里介绍两种常用的方法:使用Web服务器和使用容器。 使用Web服务器 Web服务器是一种比较传统且常见的部署方式,它的原理是Web服务器作为一个独立的应用程序监听特定的端口,接收HTTP请求并转发给相应的应用程序进行处理。Web服务器通常支持多种环境的应用程序部署,如WSGI、CGI等。 接下来我们以Nginx…

    Flask 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部