使用 python flask_restplus发布和获取获取和推送文件(例如 xlsx)到服务器的正确方法是什么?
是否需要为此使用编组?
参考:https ://philsturgeon.uk/api/2016/01/04/http-rest-api-file-uploads/
此答案提供一般信息,但不在 python>flask>restplus 上下文中:REST API File Upload
使用 python flask_restplus发布和获取获取和推送文件(例如 xlsx)到服务器的正确方法是什么?
是否需要为此使用编组?
参考:https ://philsturgeon.uk/api/2016/01/04/http-rest-api-file-uploads/
此答案提供一般信息,但不在 python>flask>restplus 上下文中:REST API File Upload
首先你需要配置一个解析器
# parsers.py
import werkzeug
from flask_restplus import reqparse
file_upload = reqparse.RequestParser()
file_upload.add_argument('xls_file',
type=werkzeug.datastructures.FileStorage,
location='files',
required=True,
help='XLS file')
然后将新资源添加到您的 api 命名空间
# api.py
import …
import parsers
@api.route('/upload/')
class my_file_upload(Resource):
@api.expect(parsers.file_upload)
def post(self):
args = parsers.file_upload.parse_args()
if args['xls_file'].mimetype == 'application/xls':
destination = os.path.join(current_app.config.get('DATA_FOLDER'), 'medias/')
if not os.path.exists(destination):
os.makedirs(destination)
xls_file = '%s%s' % (destination, 'custom_file_name.xls')
args['xls_file'].save(xls_file)
else:
abort(404)
return {'status': 'Done'}
我希望这有帮助。