uploadFilesFromImagePicker method

Future<List<File>> uploadFilesFromImagePicker(
  1. List<XFile> files, {
  2. String uploadUrl = "/multi-upload-file",
})

Uploads multiple files using XFile.

Implementation

Future<List<File>> uploadFilesFromImagePicker(
  List<XFile> files, {
  String uploadUrl = "/multi-upload-file",
}) async {
  if (kIsWeb) {
    return Future.wait(files.map((file) => uploadFileFromImagePicker(file)));
  }
  try {
    final formData = FormData();
    for (final file in files) {
      formData.files.add(MapEntry(
        "files",
        await MultipartFile.fromFile(file.path),
      ));
    }
    final response = await dio.post(uploadUrl, data: formData);
    return response.bodyAsList<File>();
  } catch (e) {
    rethrow;
  }
}