# 创建一个Flask RESTful API
# 用于接收本地文件通常涉及设置一个接受文件上传的端点
from flask import Flask,request
from flask_restful import Resource,Api
import werkzeug
import os
import flask
# 创建程序对象
app = Flask(__name__)
# 实例化对象
api = Api(app)
# 定义视图函数
class UpLoadAPI(Resource):
def post(self):
file = request.files['file'] #填写你要获取的文件在表单中的字段
if flask.request.method == 'GET':
print('你好')
return '使用的是GET请求方法'
# 检查请求中是否包含文件
if 'file' not in request.files:
return {'hint':'there is no file in the request.'},400
# 如果用户没有选择文件,浏览器会提交一个没有文件名的空文件
if file.filename == '':
return {'message':'no selected file.'},400
# 如果文件存在的话
if file:
# 确保文件名安全,且具有可移植性
filename = werkzeug.utils.secure_filename(file.filename)
# 输入保存路径!!!
save_path = os.path.join('/Users/mac/Desktop/test_le/lele',filename)
# 保存文件
file.save(save_path)
# 返回提示
return {'hint':'your file upload successfully!'},201
# 将资源类(Resource)添加到我的flask应用中
# 以便将API端点映射到资源类
api.add_resource(UpLoadAPI,'/upload')
# 这段代码创建了一个具有一个端点/upload的API,
# 用于接受POST请求。当文件上传到这个端点时,
# 它将被保存到本地文件系统的指定路径
# 定义主函数,运行
if __name__ == '__main__':
app.run(debug = True)
# 测试API
#用POST发送请求,把文件上传到这个API
# curl -X POST -F '你要获取的文件在表单中的字段=@文件路径' http://localhost:5000/upload
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交