createFormDataWithImages static method

Future<FormData> createFormDataWithImages({
  1. Map<String, dynamic>? fields,
  2. required String imageFieldName,
  3. required List<File> images,
})

Create FormData with image files

Implementation

static Future<FormData> createFormDataWithImages({
  Map<String, dynamic>? fields,
  required String imageFieldName,
  required List<File> images,
}) async {
  final formData = FormData();

  // Add regular fields
  if (fields != null) {
    fields.forEach((key, value) {
      if (value != null) {
        formData.fields.add(MapEntry(key, value.toString()));
      }
    });
  }

  // Add images
  for (var image in images) {
    if (image.existsSync()) {
      final multipartFile = await MultipartFile.fromFile(
        image.path,
        filename: image.path.split('/').last,
      );
      formData.files.add(MapEntry(imageFieldName, multipartFile));
    }
  }

  return formData;
}