Проблема загрузки изображения Flutter - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь загрузить изображение, используя нижеприведенную функцию, все работает нормально, только если я хочу отправить изображение в сообщении, а когда я пытаюсь получить изображение, ничего не получая

Это для вызова API

Future getUploadImg(access_token,File _image) async {
  print("Image: $_image");
  String apiUrl = '$_apiUrl/user/upload-profile-image';
  final length = await _image.length();
  final request = new http.MultipartRequest('POST', Uri.parse(apiUrl));
  request.headers['Accesstoken'] = "Bearer $access_token";
  request.files.add(new http.MultipartFile('imagefile',_image.openRead(), length));

  http.Response response = await http.Response.fromStream(await request.send());
  print("Result: ${response.body}");
  return json.decode(response.body);
}

Мой файл, который передается на сервер:

File: '/storage/emulated/0/Android/data/com.dotsquares.ecomhybrid/files/Pictures/c5df03f7-097d-47ca-a3c5-f896b2a38c086982492957343724084.jpg'

1 Ответ

0 голосов
/ 27 сентября 2018

Я получил результат, наконец, нам нужно передать строку для обмена изображениями моего рабочего кода, если кому-то понадобится помощь:

Future getUploadImg(access_token,File _image) async {
  print("Image: $_image");
  var result;
  var stream = new http.ByteStream(DelegatingStream.typed(_image.openRead()));
  var length = await _image.length();
  var uri = Uri.parse('$_apiUrl/user/upload-profile-image');
  var request = new http.MultipartRequest("POST", uri);
  request.headers['Accesstoken'] = "Bearer $access_token";
  var multipartFile = new http.MultipartFile('imagefile', stream, length, filename: basename(_image.path));
  request.files.add(multipartFile);
  var response = await request.send();

  print(" ===================response code ${response.statusCode}");
  await response.stream.transform(utf8.decoder).listen((value) {
    print(" =====================response value $value");
    result = value;
  });
  return json.decode(result);

}
...