HarmonyOS 鸿蒙Next ohos.net.http下载文件获取Header中的content-length

发布于 1周前 作者 zlyuanteng 来自 鸿蒙OS

HarmonyOS 鸿蒙Next ohos.net.http下载文件获取Header中的content-length

Dingtalk_20240731172342.jpgDingtalk_20240731172127.jpgDingtalk_20240731172255.jpg

好像ets不支持索引获取字段值了,但是我还想使用ets获取响应头中的content-length,怎么实现呀,起因是我想实现下载进度显示,使用ohos.net.http实现

然后从headersReceive回调监听中返回content-length计算总的下载大小。但是这个content-length好像获取不到。

2 回复
可使用rcp能力实现文件下载,onDownloadProgress可返回当前下载进度
使用时样例参考文档地址如下:rcp-ArkTS API-Remote Communication Kit API参考-开发 | 华为开发者联盟 (huawei.com)

在HarmonyOS中使用ohos.net.http模块下载文件并获取Header中的content-length,你可以通过设置HttpURLConnection的实例来实现。首先,建立连接后,在调用getInputStream()之前,可以通过getHeaderField("Content-Length")方法获取content-length的值。这通常在调用connect()方法后、读取响应体之前进行。

示例代码片段:

HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
String contentLength = connection.getHeaderField("Content-Length");
if (contentLength != null) {
    // 处理contentLength
}
InputStream inputStream = connection.getInputStream();
// 读取文件内容

如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部