Python Web 开发: 在 Flask 中如何处理文件上传?

简介: Python Web 开发: 在 Flask 中如何处理文件上传?

在Flask中,处理文件上传涉及到使用表单(Form)来允许用户选择文件,并在服务器端接收和处理上传的文件。下面是一个简单的例子,演示如何在Flask中处理文件上传:

  1. 创建Flask应用:
# app.py
from flask import Flask, render_template, request

app = Flask(__name__)

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

@app.route('/upload', methods=['POST'])
def upload():
    if 'file' not in request.files:
        return 'No file part'

    file = request.files['file']

    if file.filename == '':
        return 'No selected file'

    # 保存文件到服务器
    file.save('uploads/' + file.filename)

    return 'File uploaded successfully'
  1. 创建HTML模板:
<!-- templates/index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>File Upload</title>
</head>
<body>
    <h1>File Upload Example</h1>

    <form action="/upload" method="post" enctype="multipart/form-data">
        <input type="file" name="file" accept=".txt, .pdf, .png, .jpg, .jpeg">
        <input type="submit" value="Upload">
    </form>
</body>
</html>

在这个例子中,我们创建了一个包含一个文件上传表单的HTML页面。表单的enctype属性设置为multipart/form-data,这是处理文件上传的标准方式。

  1. 运行应用:
$ mkdir uploads  # 创建用于存储上传文件的目录
$ export FLASK_APP=app.py
$ flask run
  1. 访问应用:

打开浏览器并访问 http://127.0.0.1:5000/,你将看到一个简单的页面,其中包含一个文件上传表单。选择一个文件并点击"Upload"按钮,文件将被上传到服务器的`uploads`目录中。

请注意,上述示例中的上传路径是相对于当前工作目录的,你可以根据需要调整保存文件的路径。此外,为了安全起见,你可能需要对上传的文件进行一些验证和处理,例如检查文件类型、大小、重命名文件等。在生产环境中,还应该考虑对上传的文件进行安全性检查。

相关文章
|
8天前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
84 44
|
3天前
|
JSON 安全 API
如何使用Python开发API接口?
在现代软件开发中,API(应用程序编程接口)用于不同软件组件之间的通信和数据交换,实现系统互操作性。Python因其简单易用和强大功能,成为开发API的热门选择。本文详细介绍了Python开发API的基础知识、优势、实现方式(如Flask和Django框架)、实战示例及注意事项,帮助读者掌握高效、安全的API开发技巧。
21 3
如何使用Python开发API接口?
|
1天前
|
开发框架 前端开发 JavaScript
利用Python和Flask构建轻量级Web应用的实战指南
利用Python和Flask构建轻量级Web应用的实战指南
9 2
|
2天前
|
数据采集 存储 JSON
Python爬虫开发中的分析与方案制定
Python爬虫开发中的分析与方案制定
|
4天前
|
API 数据库 开发者
深度剖析Django/Flask:解锁Web开发新姿势,让创意无限延伸!
在Web开发领域,Django与Flask如同两颗璀璨的星辰,各具特色。Django提供全栈解决方案,适合快速开发复杂应用;Flask则轻量灵活,适合小型项目和API开发。本文通过问答形式,深入解析两大框架的使用方法和选择策略,助你解锁Web开发新技能。
13 2
|
9天前
|
数据可视化 开发者 Python
Python GUI开发:Tkinter与PyQt的实战应用与对比分析
【10月更文挑战第26天】本文介绍了Python中两种常用的GUI工具包——Tkinter和PyQt。Tkinter内置于Python标准库,适合初学者快速上手,提供基本的GUI组件和方法。PyQt基于Qt库,功能强大且灵活,适用于创建复杂的GUI应用程序。通过实战示例和对比分析,帮助开发者选择合适的工具包以满足项目需求。
42 7
|
7天前
|
算法 测试技术 开发者
性能优化与代码审查:提升Python开发效率
性能优化与代码审查:提升Python开发效率
17 1
|
9天前
|
安全 数据库 开发者
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第26天】本文详细介绍了如何在Django框架下进行全栈开发,包括环境安装与配置、创建项目和应用、定义模型类、运行数据库迁移、创建视图和URL映射、编写模板以及启动开发服务器等步骤,并通过示例代码展示了具体实现过程。
26 2
|
10天前
|
算法 测试技术 开发者
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗;代码审查通过检查源代码发现潜在问题,提高代码质量和团队协作效率。本文介绍了一些实用的技巧和工具,帮助开发者提升开发效率。
14 3
|
10天前
|
JSON API 数据格式
如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架
本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了示例代码。通过这些步骤,读者可以快速上手构建自己的RESTful API。
23 2

热门文章

最新文章