Issue
I'm doing an api request uploading an image with
var request = new http.MultipartRequest("POST", uri);
var response = await request.send()
in dart using flutter. I can then check the response code with for instance
if (response.statusCode == 200) {
print('ok');
}
with other calls I can also get the response body with
var result = response.body;
however when using request.send() I can't seem to find out how to get the response body result.
Any help or input is very much appreciated, thanks!
Solution
I checked the docs for request.send I returns Future<StreamedResponse>
instead of Future<Response>
Digging more for StreamedResponse I found that it response.stream
which is a ByteStream
Here is what you can do to get response in String
final response = await request.send();
final respStr = await response.stream.bytesToString();
In my opinoin you should only use request.send if you want streamed response instead of "collected" response. More about streams in dart here
Answered By - Harsh Bhikadia
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.