当前位置: 首页>编程语言>正文

Python处理HTTP请求中的文件上传

在Web开发中,处理HTTP请求中的文件上传是一个常见的需求。当用户需要通过Web表单上传文件(如图片、文档等)时,服务器端需要能够接收并处理这些文件。在Python中,有多种方式可以实现这一功能,其中最常见的是使用Web框架(如Flask、Django等)来处理文件上传。

然后,创建一个简单的Flask应用来接收文件上传:

python复制代码


from flask import Flask, request, render_template, send_from_directory


import os




app = Flask(__name__)


UPLOAD_FOLDER = 'uploads/' 


app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER




# 确保上传文件夹存在


if not os.path.exists(app.config['UPLOAD_FOLDER']):


os.makedirs(app.config['UPLOAD_FOLDER'])




@app.route('/upload', methods=['GET', 'POST'])


def upload_file():


if request.method == 'POST' and 'file' in request.files:


file = request.files['file']




# 如果用户没有选择文件,浏览器也会提交一个空的文件部分没有文件名


if file.filename == '':


return 'No selected file', 400 




if file:


filename = secure_filename(file.filename) # 使用Flask的secure_filename来避免潜在的安全问题


file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))

此外,我们还需要一个HTML表单来允许用户选择并上传文件。这个表单的action属性应该设置为/upload,并且应该包含一个类型为file<input>元素来接收用户选择的文件。当用户提交表单时,浏览器会发送一个包含文件的POST请求到服务器。



https://www.xamrdz.com/lan/5tk1939546.html

相关文章: