Flask 上传文件,requests通过接口上传文件
这是一个使用 Flask 框架实现文件上传功能的示例代码。该代码定义了两个路由:
-
/upload
:处理文件上传请求。在该路由中,我们首先从请求中获取上传的文件,然后将文件保存到本地磁盘上,并返回一个字符串表示上传成功。 -
/
:返回一个 HTML 表单,用于选择文件并提交上传请求。
需要注意的是,该代码只能处理单个文件上传请求。如果你需要上传多个文件,可以使用 request.files.getlist('file')
方法获取所有上传的文件列表。
app.py
from flask import Flask, request, render_template
app = Flask(__name__)
@app.route('/upload', methods=['POST'])
def upload_file():
file = request.files['file']
file.save(str(file.filename))
return 'OK'
@app.route('/')
def index():
return render_template('upload.html')
if __name__ == '__main__':
app.run()
templates.upload.html
<!DOCTYPE html>
<html>
<head>
<title>Upload File</title>
</head>
<body>
<form action="/upload" method="post" enctype="multipart/form-data">
<label for="file">Choose a file:</label>
<input type="file" id="file" name="file"><br><br>
<input type="submit" value="Upload">
</form>
</body>
</html>
import requests
url = 'http://127.0.0.1:5000/upload'
files = {'file': open(r'C:\Users\Administrator\Desktop\requests之不同类型的传参.md', 'rb')}
response = requests.post(url, files=files)
print(response.text)