我正在使用 MultipartRequest
从…起 package:http
. 我正在成功上载文件,但我想获取正在上载的文件的进度。我怎样才能做到这一点?我当前的代码如下所示
Future submitFile(var report, File file) async {
var uri = Uri.parse(endpoint + "v1/reports");
var request = http.MultipartRequest("POST", uri);
await addHeaders(request.headers);
request.fields.addAll(Report.toMap(report));
if (file != null)
request.files.add(await http.MultipartFile.fromPath(
'report_resource',
file.path,
));
String response = "";
await (await request.send()).stream.forEach((message) {
response = response + String.fromCharCodes(message);
});
return response;
}
我寻找解决方案,找到了这个。这篇文章与我想要达到的目的有些不同,因为他使用不同的客户端来处理请求。
也许我没有在正确的道路上寻找。谢谢你的帮助。
3条答案
按热度按时间bmp9r5qi1#
等了一个星期左右。我没有得到回应。因此,我自己开发了一个插件来实现这种行为。包链接。
使用它的示例:
更新日期:2020年6月30日
该软件包现在也支持ios。
kiayqfof2#
以下是我的看法:
用法:
2admgd593#
您可以尝试这个类,因为我还没有测试它,让我知道任何东西打印在您的控制台。
用法:
而不是
var request = http.MultipartRequest("POST", uri);
使用: