Flutter图像上传问题

问题描述 投票:-1回答:1

我正在尝试使用以下功能上传图像一切正常工作只是我想在帖子中发送图像当我尝试得到的图像一无所获

这是用于调用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'
php image api flutter image-uploading
1个回答
0
投票

我得到了结果,如果有人需要帮助,我们需要传递字符串以便共享我的工作代码:

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);

}
© www.soinside.com 2019 - 2024. All rights reserved.