createFormDataWithVideos static method

Future<FormData> createFormDataWithVideos({
  1. Map<String, dynamic>? fields,
  2. required String videoFieldName,
  3. required List<File> videos,
})

Create FormData with video files

Implementation

static Future<FormData> createFormDataWithVideos({
  Map<String, dynamic>? fields,
  required String videoFieldName,
  required List<File> videos,
}) 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 videos
  for (var video in videos) {
    if (video.existsSync()) {
      final multipartFile = await MultipartFile.fromFile(
        video.path,
        filename: video.path.split('/').last,
      );
      formData.files.add(MapEntry(videoFieldName, multipartFile));
    }
  }

  return formData;
}