#flutter #dart #multipartform-data #dio #multipartfile
Вопрос:
Я пытаюсь отправить несколько изображений на серверный сервер. Я пробовал Dio и Http, но сервер отвечает ошибкой, и остальные данные, кроме изображений, сохраняются.
В документации говорится, что ключевыми значениями должны быть «images_0», «images_1» и так далее.
Код —
Изображения преобразуются из XFile в составной файл.
int imgNum = 0;
for (int i = 0; i < data.images.length; i ) {
if (data.images[i] != null) {
File file = File(data.images[i]!.path);
String fileName = file.path.split('/').last;
http.MultipartFile mFile = http.MultipartFile(
'images_$imgNum',
file.readAsBytes().asStream(),
await file.length(),
filename: fileName,
);
imgNum ;
request.files.add(mFile);
}
}
(data.images-это список X-файлов? , запрос-http.Многочастотный запрос)
Все остальные поля и заголовки работают и сохраняются правильно. Я тоже пробовал использовать Dio, который дает тот же ответ. Ответ от сервера будет :
{данные: {ошибка: Не удается прочитать свойство ‘0’ неопределенного}, сообщение: Что-то пошло не так. Пожалуйста, повторите попытку позже.}
В нашем проекте также есть веб-сайт, где форма работает правильно, и при http-запросе там отображаются изображения следующим образом : (в Google Chrome)
Команда api также поделилась документами API пользовательского интерфейса Swagger — Docs
Что я делаю не так? Как я могу это исправить?
Спасибо вам за ответ.
Комментарии:
1. Ваш
images
массив кажется пустым2. @gtxtreme нет, я проверил это с помощью инструкций печати.