如何在dart中使用request.send()获取响应体

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

我正在做一个上传图片的api请求

var request = new http.MultipartRequest("POST", uri);
var response = await request.send()

用飞镖飞镖。然后,我可以检查响应代码

if (response.statusCode == 200) {
   print('ok');
}

与其他电话我也可以得到响应机构

var result = response.body;

但是当使用request.send()时,我似乎无法找到如何获得响应体结果。

非常感谢任何帮助或意见,谢谢!

dart flutter
1个回答
4
投票

我检查了request.send的文档我返回Future<StreamedResponse>而不是Future<Response>

StreamedResponse挖掘更多我发现它是response.stream这是一个ByteStream

以下是在String中获取响应的方法

final response = await request.send();
final respStr = await response.stream.bytesToString();

在我看来,如果你想要流式响应而不是“收集”响应,你应该只使用request.send。关于streams in dart here的更多信息

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