createFromFilePath static method

Future<FormData> createFromFilePath({
  1. Map<String, dynamic>? fields,
  2. required String fieldName,
  3. required String filePath,
  4. String? filename,
})

Create FormData from file path

Implementation

static Future<FormData> createFromFilePath({
  Map<String, dynamic>? fields,
  required String fieldName,
  required String filePath,
  String? filename,
}) 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 file
  final file = File(filePath);
  if (file.existsSync()) {
    final multipartFile = await MultipartFile.fromFile(
      filePath,
      filename: filename ?? filePath.split('/').last,
    );
    formData.files.add(MapEntry(fieldName, multipartFile));
  }

  return formData;
}