Я искал решение этой проблемы без особой удачи. Мне нужно иметь возможность загружать изображения в API Flask RESTplus, но каждый раз, когда я пытаюсь, я получаю ошибку 400 Bad Request со следующим фрагментом:
{
"errors": {
"file": "label images Missing required parameter in an uploaded file"
},
"message": "Input payload validation failed"
}
Ниже приведен код, который я использую. Если это уместно, я размещаю эту программу Flask на образе докера.
import werkzeug
from flask import Flask, send_file
from flask_restplus import Resource, Api, namespace
import os
# Declare API
app = Flask(__name__)
api = Api(app)
app.config["DEBUG"] = True
UPLOAD_FOLDER = 'temp/data'
upload_parser = api.parser()
upload_parser.add_argument('file',
type=werkzeug.FileStorage,
location='files',
required=True,
help='label images',
action='append')
ns_ocr = api.namespace('label_ocr', description='Methods for label OCR.')
# Upload method
@api.route('/upload/')
class UploadImage(Resource):
@api.expect(upload_parser)
def post(self):
args = upload_parser.parse_args()
uploaded_file = args['file']
filename = 'picture.jpg'
uploaded_file.save(os.path.join(UPLOAD_FOLDER, filename))
return {}, 201