HarmonyOS使用@ohos.request下载文件功能迁移至子线程后下载文件大小为0

在UI线程中做了下载离线资源文件的功能, 未使用TaskPool迁移至子线程前,功能是正常的。 迁移后现在文件大小为0。通过getTaskInfo返回的错误码:

HarmonyOS使用@ohos.request下载文件功能迁移至子线程后下载文件大小为0-鸿蒙开发者社区

返回的任务状态码为:

HarmonyOS使用@ohos.request下载文件功能迁移至子线程后下载文件大小为0-鸿蒙开发者社区

发生ERR_UNKNOWN该如何继续定位?

HarmonyOS
2024-09-06 11:51:17
1047浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
put_get

下载任务获取的taskinfo当前没有描述http请求的状态码, 通过hilog的RequestService|RequestKit确认请求发送过程中属于401没有鉴权。具体跟因由于在发送请求的过程中header字段没有附带,导致鉴权不通过返回401。 header的获取由于使用的类依赖context, common.Context是线程隔离的, 需要以传参或者内存共享的形式进行传递, 导致主线程初始化好的header信息,在子线程中获取不到, 当前采用规避方式, 使用传参的形式赋值context, 文件下载可以继续正常进行。总结一下:使用TaskPool进行并行化改造时, 需要关注子线程代码使用的类是不是属于线程隔离的, 譬如本例当中的common.Context。

分享
微博
QQ
微信
回复
2024-09-06 17:21:12


相关问题
使用request下载文件的方式
1661浏览 • 1回复 待解决
request下载文件不能覆盖现有文件
2607浏览 • 1回复 待解决
如何使用接口下载文件
2878浏览 • 1回复 待解决
HarmonyOS下载文件报错
1343浏览 • 1回复 待解决
HarmonyOS 使用http下载文件异常
1054浏览 • 1回复 待解决
是否支持iframe下载文件
1514浏览 • 1回复 待解决
如何查看HarmonyOS下载文件
1111浏览 • 1回复 待解决
HarmonyOS下载文件失败返回
1388浏览 • 1回复 待解决
HarmonyOS axios下载文件问题
975浏览 • 1回复 待解决
HarmonyOS 如何下载文件到本地
853浏览 • 1回复 待解决
下载文件打印乱码如何修改
1151浏览 • 1回复 待解决
HarmonyOS 下载文件相关的demo
652浏览 • 1回复 待解决
HarmonyOS web下载文件点击无反应
1000浏览 • 1回复 待解决
HarmonyOS 下载文件到指定文件
977浏览 • 1回复 待解决
http请求中下载文件报错2300023
3572浏览 • 1回复 待解决
HarmonyOS 如何监听下载文件的进度
994浏览 • 1回复 待解决
HarmonyOS http请求下载文件报错2300023
985浏览 • 1回复 待解决