sendMultipartRequest method
dynamic
sendMultipartRequest(
- String completeUrl,
- String method,
- Map body
)
Implementation
sendMultipartRequest(
String completeUrl,
String method,
Map body,
) async {
bool Function(dynamic) _isFile =
(e) => e is Uint8List || e is List<Uint8List>;
final nonFileParams = toStringMap(
Map.fromEntries(body.entries.where((e) => !_isFile(e.value))));
List<http.MultipartFile> files = [];
body.entries.where((e) => _isFile(e.value)).forEach((e) {
var file_name = body[e.key + '_name'];
files.add(
http.MultipartFile.fromBytes(
e.key,
e.value,
filename: file_name,
contentType: _getMediaType(file_name),
),
);
});
final request = http.MultipartRequest(method, Uri.parse(completeUrl))
..headers.addAll(toStringMap(_headers()))
..files.addAll(files);
nonFileParams.forEach((key, value) => request.fields[key] = value);
var response = await http.Response.fromStream(await request.send());
return response;
}