Flask 在Python Flask中上传文件

Flask 在Python Flask中上传文件

在本文中,我们将介绍如何在Python Flask中实现文件上传功能。文件上传是Web应用中常见的功能之一,它允许用户将本地计算机上的文件上传到服务器端。Flask作为一个轻量级的Web框架,提供了简单易用的接口来实现文件上传功能。

阅读更多:Flask 教程

1. 创建Flask应用

首先,我们需要创建一个基本的Flask应用。可以使用以下代码创建一个简单的Flask应用:

from flask import Flask, request

app = Flask(__name__)

@app.route('/')
def index():
    return 'Welcome to Flask Uploading File Example'

if __name__ == '__main__':
    app.run(debug=True)

在上面的代码中,我们创建了一个名为app的Flask对象,并且定义了一个路由规则'/',当用户访问根路径时,会返回Welcome to Flask Uploading File Example

2. 创建文件上传表单

接下来,我们需要在HTML模板中创建一个文件上传表单,让用户可以选择要上传的文件。可以使用以下代码创建一个简单的文件上传表单:

<!DOCTYPE html>
<html>
<body>

<h2>Flask File Upload Example</h2>

<form action="/upload" method="POST" enctype="multipart/form-data">
  <input type="file" name="file">
  <input type="submit" value="Upload">
</form>

</body>
</html>

在上面的代码中,我们定义了一个POST方法的表单,将上传的文件发送到/upload路由。

3. 处理文件上传请求

当用户选择了要上传的文件并点击上传按钮后,我们需要在服务器端接收这个文件。可以在Flask应用中定义一个/upload路由,并使用request.files属性来获取上传的文件。以下是一个处理文件上传请求的示例代码:

@app.route('/upload', methods=['POST'])
def upload():
    file = request.files['file']
    file.save(file.filename)
    return 'File Uploaded Successfully'

在上面的代码中,我们首先使用request.files获取上传的文件对象,然后使用save()方法将文件保存到服务器上。最后,返回一个简单的消息表示文件上传成功。

4. 完整的示例

最后,让我们将上面的两部分代码整合起来,创建一个完整的文件上传示例:

from flask import Flask, request, render_template

app = Flask(__name__)

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

@app.route('/upload', methods=['POST'])
def upload():
    file = request.files['file']
    file.save(file.filename)
    return 'File Uploaded Successfully'

if __name__ == '__main__':
    app.run(debug=True)

上面的代码中,我们使用了render_template()方法来渲染之前创建的HTML模板,用户访问根路径时会显示文件上传表单。当用户选择了要上传的文件后,会发送一个POST请求到/upload路由,然后文件会被保存到服务器端。上传成功后,会显示一个简单的消息。

总结

本文介绍了如何在Python Flask中实现文件上传功能。通过使用Flask的接口,可以轻松地处理文件上传请求,并将文件保存到服务器上。希望本文对你理解和使用Flask的文件上传功能有所帮助。如有任何问题,请随时留言。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程