uploadImage method
Implementation
Future<APIResponse<String>> uploadImage(
String url,
Map<String, String> bodyMap,
Map<String, String> headers,
File imageFile,
String fileName) async {
var uri = Uri.parse(url);
var request = http.MultipartRequest(
"POST",
uri,
);
request.headers.addAll(headers);
var keys = bodyMap.keys;
for (var i = 0; i < bodyMap.length; i++) {
var key = keys.elementAt(i);
request.fields[key] = bodyMap[key]!;
}
var multFile = await http.MultipartFile.fromPath("image", imageFile.path);
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'];
if (response.statusCode == 201) {
// If the call to the server was successful, parse the JSON
// var jsonData = jsonBody['data'];
var imageID = fileName;
return APIResponse<String>(value: imageID, code: code, message: message);
} else {
return APIResponse<String>(value: null, code: code, message: message);
}
}