Я пытаюсь загрузить изображение из приложения android на сервер (работает на flask-python).Я использовал Swagger 2.0 для генерации API-кода колбы и сервера dart.Я получаю сообщение об ошибке «Ошибка ключа: файл» на стороне сервера всякий раз, когда я пытаюсь вызвать API загрузки изображения.
Настройка:
Клиент: клиент флаттера на Android
Сервер: Flask Python
Оба настроены с использованием Swagger 2.0
Я попытался вызвать API из SOAP UI, и он работает отлично, и мое изображение загружается на сервер.Однако, когда я пытаюсь вызвать тот же API загрузки изображений из приложения Android через API Flutter, это выдает ошибку на моем сервере.
Параметры вызова SOAP UI:
Метод: POST
Конечная точка: http://localhost:5000
Ресурс: / images
Post QueryString = true
Параметры:
Файл inFile: [имя файла, которое я загрузил в разделе вложений]
Swagger configuration:
post:
description: Creates a new Image
operationId: createNewImage
consumes:
- multipart/form-data
parameters:
- in: formData
name: inFile
type: file
required: true
description: Image file to upload.
- in: formData
name: imageDescription
type: string
required: false
description: Description of image file
responses:
'200':
description: 200 response
schema:
$ref: '#/definitions/ImageRespModel'
Flutter Api calling code (Not working):
var api = new ServerApi.ImagesApi();
File _image = <image object clicked from camera>
String _filename = path.basename(_image.path);
MultipartFile _imageFile = MultipartFile.fromBytes(
'inFile', _image.readAsBytesSync(),
filename: _filename);
api.createNewImage(_imageFile);
Ожидаемые результаты: вызов API Android должен быть в состоянии загрузить код таким же образомкак я могу сделать это из SOAP UI.Я думаю, что что-то не хватает в настройке вызова Android API.
Ошибка на сервере Python:
type_func = TYPE_MAP [_type] # преобразовать значение в правильный тип
KeyError: 'file'