uploadFilesMutilImage method
Implementation
Future<APIResponse<dynamic>> uploadFilesMutilImage(
String? url,
Map<String, dynamic>? bodyMap,
Map<String, String>? headers,
List<MutilFiles>? mapping,
) async {
final isInterNet = await check();
if (!isInterNet) {
return APIResponse<dynamic>(
code: "-111", message: "Bạn đang không bật mạng", value: null);
} else {
var uri = Uri.parse(url ?? "");
var request = http.MultipartRequest(
"POST",
uri,
);
if (headers != null) {
request.headers.addAll(headers);
}
if (bodyMap != null) {
var keys = bodyMap.keys;
for (var i = 0; i < bodyMap.length; i++) {
var key = keys.elementAt(i);
request.fields[key] = bodyMap[key]!;
}
}
if (mapping != null) {
for (var key in mapping) {
for (var image in key.files) {
var multFile = await http.MultipartFile.fromPath(key.key, image,
filename: "${key.key}.jpg",
contentType: MediaType.parse("image/jpg"));
request.files.add(multFile);
}
}
}
var response = await request.send();
var responseData = await response.stream.toBytes();
var responseString = String.fromCharCodes(responseData);
//Get the response from the server
var jsonBody = jsonDecode(responseString);
var code = jsonBody['code'];
var message = jsonBody['message'];
var jsonData = jsonBody['data'];
if (code != null) {
return APIResponse<dynamic>(
value: jsonData, code: code, message: message);
} else {
return APIResponse<String>(value: null, code: code, message: message);
}
}
}