cheeze static method

Future<Response> cheeze(
  1. File cheeseImage
)

Implementation

static Future<Response> cheeze(File cheeseImage) async {
  // open a bytestream
  var stream =
      http.ByteStream(DelegatingStream.typed(cheeseImage.openRead()));

  // get file length
  var length = await cheeseImage.length();

  // string to uri
  var uri = Uri.parse(url);

  // create multipart request
  var request = http.MultipartRequest("POST", uri);

  // multipart that takes file
  var multipartFile = http.MultipartFile('img', stream, length,
      filename: basename(cheeseImage.path));

  // add file to multipart
  request.files.add(multipartFile);

  //add header
  var map = {"Content-type": "mapmultipart/form-data"};
  request.headers.addAll(map);

  // send
  var response = await request.send();

  // listen for response
  String repStr = await response.stream.bytesToString();

  //clean response
  String val =
      repStr.replaceAll("\n", "").replaceAll("\r", "").replaceAll("\t", "");

  //decode response
  var resp = Response();
  try {
    resp = Response.fromJson(jsonDecode(val));
  } catch (error) {
    print(error);
  }
  return resp;
}