uploadMultiFile method
Implementation
Future<Map<String, dynamic>?> uploadMultiFile({required String path,
required List<File> files, required String fileParam,
Map<String, dynamic>? data,}) async {
try {
// Build multipart files list
final multipartFiles = await Future.wait(
files.map((file) async {
final fileName = path_package.basename(file.path);
return MultipartFile.fromFile(file.path, filename: fileName);
}),
);
// Create FormData with the file
FormData formData = FormData.fromMap({
fileParam: multipartFiles,
if (data != null) ...data, // Add any additional data if needed
});
String? token = await UFUtils.preferences.readAuthToken();
// Send POST request with FormData
Response response = await _dio.post(
path,
data: formData,
options: Options(
headers: {'Authorization': 'Bearer $token',
"Content-Type": "multipart/form-data",
"x-portal": "user"},
extra: {"skipInterceptor": true},
),
);
return response.data;
} catch (e) {
rethrow;
}
}