我正在做一个上传图片的 api 请求
var request = new http.MultipartRequest("POST", uri);
var response = await request.send()
在 Dart 中使用 flutter 。然后我可以检查响应代码,例如
if (response.statusCode == 200) {
print('ok');
}
通过其他调用,我也可以获得响应正文
var result = response.body;
但是,当使用 request.send() 时,我似乎不知道如何获取响应正文结果。
非常感谢任何帮助或输入,谢谢!
最佳答案
我查看了 request.send 的文档我返回 Future<StreamedResponse>
而不是 Future<Response>
为 StreamedResponse 挖掘更多信息我发现它response.stream
这是 ByteStream
这是你可以做些什么来获得字符串中的响应
final response = await request.send();
final respStr = await response.stream.bytesToString();
在我看来,如果您想要流式响应而不是“收集”响应,您应该只使用 request.send。更多关于 streams in dart here
https://stackoverflow.com/questions/55520829/