postFile method

Future<Response> postFile(
  1. String url,
  2. File file, {
  3. HttpOptions? options,
})

Implementation

Future<Response> postFile(
  String url,
  File file, {
  HttpOptions? options,
}) async {
  var request = MultipartRequest(
    'POST',
    Uri.parse(url),
    onUploadProgress: options?.onUploadProgress,
  );
  var part = await http.MultipartFile.fromPath('file', file.path);
  Map<String, String> headers = await getHeaders(options, isFile: true);
  for (var key in headers.keys) {
    request.headers[key] = headers[key]!;
  }
  request.files.add(part);

  http.StreamedResponse response = await request.send();

  var jsonString = await response.stream.bytesToString();
  Map<String, dynamic> json = jsonDecode(jsonString);

  return Response.fromJson(json);
}