uploadFilesFromImagePicker method
Uploads multiple files using XFile.
Implementation
Future<List<File>> uploadFilesFromImagePicker(
List<XFile> files, {
String uploadUrl = "/multi-upload-file",
}) async {
try {
if (kIsWeb) {
final bytesList = await Future.wait(files.map((f) => f.readAsBytes()));
final names = files.map((f) => f.name).toList();
final formData = await _buildMultiFilesFormData(
filesBytes: bytesList,
filenames: names,
);
final response = await dio.post(uploadUrl, data: formData);
return response.bodyAsList<File>();
} else {
final paths = files.map((f) => f.path).toList();
final names = files.map((f) => f.name).toList();
final formData = await _buildMultiFilesFormData(
filePaths: paths,
filenames: names,
);
final response = await dio.post(uploadUrl, data: formData);
return response.bodyAsList<File>();
}
} catch (e) {
rethrow;
}
}