formDataToMap static method
Map<String, dynamic>
formDataToMap(
- FormData formData
)
Implementation
static Map<String, dynamic> formDataToMap(FormData formData) {
final fields = <String, dynamic>{};
for (final entry in formData.fields) {
final existing = fields[entry.key];
if (existing == null) {
fields[entry.key] = entry.value;
} else if (existing is List) {
existing.add(entry.value);
} else {
fields[entry.key] = <dynamic>[existing, entry.value];
}
}
final files = <Map<String, dynamic>>[];
for (final entry in formData.files) {
files.add(<String, dynamic>{
'field': entry.key,
'filename': entry.value.filename,
'contentType': entry.value.contentType?.toString(),
'size': humanBytes(entry.value.length),
});
}
return <String, dynamic>{
if (fields.isNotEmpty) 'fields': fields,
if (files.isNotEmpty) 'files': files,
};
}