flutter - Flutter:如何使用 HttpClient 将数据发送到服务器的进度百分比
问题描述
我想以多少百分比的进度向服务器发送相当大的数据,但它失败了。但是当我发送没有进展的数据时,它可以工作。向服务器发送数据时是否可以取得进展?这是我使用的代码。请帮忙谢谢
void postDataWithProgress() async {
HttpClient httpClient = new HttpClient();
var url = "https://xxxxxxx/api/adddata";
HttpClientRequest request =
await httpClient.postUrl(Uri.parse(url)).timeout(Duration(seconds: 10));
var datavalue = {
"listvideoname": ["a", "b", "c"],
"listvideobase64": ["adahd", "ayuiary", "oukjfjka"]
};
var body = json.encode(datavalue);
int byteCount = 0;
var totalByteLength = body.length;
Stream<String> mystream = new Stream.value(body);
Stream<List<int>> streamUpload =
mystream.transform(new StreamTransformer.fromHandlers(
handleData: (data, sink) {
byteCount += data.length;
},
handleDone: (sink) {
sink.close();
},
handleError: (error, stackTrace, sink) {
throw error;
},
));
request.contentLength = totalByteLength;
request.addStream(streamUpload);
request.headers
.set("Content-Type", "application/json", preserveHeaderCase: true);
request.headers
.set("Authorization", "Bearer $token", preserveHeaderCase: true);
request.add(utf8.encode(body));
HttpClientResponse response = await request.close();
if (response.statusCode == 200) {
print("add data success");
}else{
print("add data error");
}
}
解决方案
推荐阅读
- c - 如果我在另一个结构中有结构并且我试图将它们放在一个数组中
- ansible - Ansible 转义字符串 \
- python-3.x - OSError: [Errno 8] 执行格式错误 - wkhtmltopdf & pydf
- java - Log4j 警告:即使存在也找不到附加程序
- uwp - UWP 项目在 GitHub Actions 上失败,因为证书无效 APPX0107
- java - org.gradle.api.tasks.TaskExecutionException:任务“:compileKotlin”执行失败
- dialogflow-es - 在没有用户输入或交互的情况下连续拥有多个 GoogleResponse
- ssh - SSH 控制台在按回车键时打印 ^H
- android - 防止配置更改后通知 onFocus 侦听器?
- php - 该站点无法访问 CodeIgniter 框架