【python】服务端和客户端 RESTful 接口上传 E
哈喽,大家好,我是木头左,物联网搬砖工一名,致力于为大家淘出更多好用的AI工具!
服务端代码
1. 安装 Flask 和 Flask-RESTful
需要安装 Flask 和 Flask-RESTful 这两个库。Flask 是一个轻量级的 Web 框架,而 Flask-RESTful 则是一个为 Flask 添加了 RESTful API 支持的扩展。
pip install Flask Flask-RESTful
2. 创建 Flask 应用
接下来,创建一个简单的 Flask 应用,并配置 RESTful API。
from flask import Flask, request
from flask_restful import Resource, Api
app = Flask(__name__)
api = Api(app)
3. 实现文件上传接口
现在,开始实现文件上传接口。在这个例子中,将使用 request.files
获取上传的文件,并将其保存到服务器上。
class UploadFile(Resource):
def post(self):
file = request.files['file']
if file:
file.save('uploads/' + file.filename)
return {'message': '文件上传成功'}, 200
else:
return {'message': '文件上传失败'}, 400
4. 将接口添加到 API
在这个代码中,我们创建了一个名为UploadExcel
的资源类,并定义了一个post
方法。当客户端向服务器发送POST请求时,该方法会被调用。在这个方法中,我们从请求中获取文件,并将其保存到服务器的uploads
文件夹中。如果文件上传成功,我们返回一个包含成功信息的字典;如果文件上传失败,我们返回一个包含错误信息的字典,并设置HTTP状态码为400。
运行服务端代码
在命令行中,切换到app.py
所在的目录,然后运行以下命令启动服务端:
python app.py
现在,服务端已经启动并监听在5000端口。接下来,我们将编写客户端代码来测试这个接口。
客户端代码
2.1 安装所需库
在客户端,我们需要安装以下库:
- requests:用于发送HTTP请求
- openpyxl:用于操作Excel文件(可选)
可以使用以下命令安装这些库:
pip install requests openpyxl
2.2 编写客户端代码
首先,我们创建一个名为upload_excel.py
的文件,然后编写以下代码:
以下是一个基本的 Python 代码示例,用于通过 RESTful 接口上传 Excel 文件:
import requests
url = 'http://example.com/upload'
file_path = '/path/to/excel/file.xlsx'
with open(file_path, 'rb') as f:
r = requests.post(url, files={'file': f})
if r.status_code == 200:
print('Upload successful.')
else:
print('Upload failed.')
该代码使用了 Python 的 requests 库来发送 POST 请求,并将 Excel 文件作为文件流上传到指定的 RESTful 接口。在代码中,需要将 url 替换为实际的 RESTful 接口 URL,并将 file_path 替换为实际的 Excel 文件路径。如果上传成功,将输出“Upload successful.”,否则将输出“Upload failed.”。
我是木头左,感谢各位童鞋的:点赞、收藏和在看,我们下期更精彩!