HarmonyOS鸿蒙Next中ohos.request下载文件问题

HarmonyOS鸿蒙Next中ohos.request下载文件问题 下载文件使用http链接下载失败,改成http可以下载成功

3 回复

问题根因是手机本地证书有问题,由这段日志可以看出openssl 报的,证书校验失败,看下服务端发来的证书有没有问题,是不是通用的那种

03-07 09:22:34.906   3171-3218     C01C50/downloa...equestService  download_server       E     Task 791103119 HttpClientError { ErrorKind: Connect, Cause: Custom { kind: Other, error: SslError { code: SslErrorCode(1), internal: Some(Ssl(ErrorStack([StackError { code: 369098857, file: "", line: 0, func: Some("ossl_store_get0_loader_int"), data: Some("scheme=file") }, StackError { code: 2147483650, file: "", line: 0, func: Some("file_open"), data: Some("calling stat(/system/etc/certs)") }, StackError { code: 369098857, file: "", line: 0, func: Some("ossl_store_get0_loader_int"), data: Some("scheme=file") }, StackError { code: 2147483650, file: "", line: 0, func: Some("file_open"), data: Some("calling stat(/system/etc/certs)") }, StackError { code: 369098857, file: "", line: 0, func: Some("ossl_store_get0_loader_int"), data: Some("scheme=file") }, StackError { code: 2147483650, file: "", line: 0, func: Some("file_open"), data: Some("calling stat(/system/etc/certs)") }, StackError { code: 167772294, file: "", line: 0, func: Some("tls_post_process_server_certificate"), data: None }])) } } }

更多关于HarmonyOS鸿蒙Next中ohos.request下载文件问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,ohos.request模块用于网络请求,包括文件下载。要下载文件,可以使用ohos.request.download方法。该方法允许你指定下载的URL、保存路径、以及下载过程中的回调函数。

以下是一个简单的示例代码,展示如何使用ohos.request.download下载文件:

import request from '@ohos.request';

let url = 'https://example.com/file.zip';
let filePath = '/data/storage/el2/base/files/file.zip';

request.download(url, filePath, {
  success: (data) => {
    console.log('Download success:', data);
  },
  fail: (error) => {
    console.error('Download failed:', error);
  },
  progress: (received, total) => {
    console.log(`Progress: ${received}/${total}`);
  }
});

在这个示例中,url是要下载文件的URL,filePath是文件保存的本地路径。success回调在下载成功时触发,fail回调在下载失败时触发,progress回调在下载过程中定期触发,提供已下载的字节数和总字节数。

需要注意的是,ohos.request.download方法在鸿蒙系统中是异步执行的,因此不会阻塞主线程。此外,确保应用具有访问网络和写入文件的权限,否则下载操作将失败。

如果下载过程中遇到问题,可以检查网络连接、文件路径是否正确,以及是否有足够的存储空间。

在HarmonyOS鸿蒙Next中,使用ohos.request模块下载文件时,首先需要确保应用已申请必要的网络权限。通过ohos.request.download方法,可以指定下载URL、保存路径及回调函数。回调函数用于处理下载进度、成功或失败的情况。建议在下载前检查存储空间,并在下载过程中处理可能的网络异常,以确保文件下载的稳定性和可靠性。

回到顶部