I am trying to send multiple images to the backend server. I have tried Dio and Http but the server responds with an error and the rest of the data except the images get saved.
The documentation says that the key values must be 'images_0' 'images_1' and so on.
Code -
The images are converted from XFile to multipart file.
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 is a list of XFiles? , request is the http.MultipartRequest)
All the other fields and headers are working and being saved correctly. I have tried using Dio too which gives the same response. The response from the server is :
{data: {error: Cannot read property '0' of undefined}, message: Something went wrong. Please try again later.}
Our project also has a website where the form is working correctly, and when the http request there shows the images as follows : (in Google Chrome)
The api team has also shared Swagger Ui API docs- Docs
What am I doing wrong? How can I fix this?
Thank you for responding.