【问题标题】:how to get server response of a POST api in flutter如何在颤动中获取 POST api 的服务器响应
【发布时间】:2020-12-20 05:21:09
【问题描述】:

我是 Flutter 的新手,我正在使用 mongodb 从注册页面保存凭据。当试图提供已经存在的凭据时,服务器会显示一个响应 - '用户已经退出'这个响应是在邮递员中查看的。我能够获得 statusCode 但我无法在颤动中获得相同的响应。下面是我的颤振代码。

  Future<String> uploadImage(filename) async {
    var request = http.MultipartRequest('POST', Uri.parse(serverReceiverPath));
    request.files.add(await http.MultipartFile.fromPath('file', filename));
    var res = await request.send();
    print(res.statusCode);
    return null;
  }

【问题讨论】:

  • 我也试过了,但它显示“没有为类型 'StreamedResponse' 定义 getter 'body'”
  • 状态码打印什么
  • statuscode 是 200 并且数据也被发布到数据库中,唯一的问题是我无法得到响应。 “res.body”不起作用。

标签: api flutter dart


【解决方案1】:

要获得正文响应,请使用res.stream.bytesToString()

完整代码:

Future<String> uploadImage(filename) async {
    var request = http.MultipartRequest('POST', Uri.parse(serverReceiverPath));
    request.files.add(await http.MultipartFile.fromPath('file', filename));
    var res = await request.send();
    print(res.statusCode); // status code

    var bodyResponse = await res.stream.bytesToString(); // response body
    print(bodyResponse);

    return null;
  }

【讨论】:

    猜你喜欢
    • 2020-10-18
    • 2019-06-01
    • 2019-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    相关资源
    最近更新 更多