怎样实现Web组件的下载能力?

怎样实现Web组件的下载能力?

HarmonyOS
2024-08-06 14:21:42
495浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
单花红丝线

通过setDownloadDelegate()向Web组件注册一个DownloadDelegate来监听页面触发的下载任务。资源由Web组件来下载,Web组件会通过DownloadDelegate将下载的进度通知给应用

 this.delegate.onBeforeDownload((webDownloadItem: webview.WebDownloadItem) => {
              console.log("will start a download.");
              // 传入一个下载路径,并开始下载。
              // 如果传入一个不存在的路径,则会下载到默认/dataorage/el2/base/cache/web/目录。
              webDownloadItem.start("/dataorage/el2/base/cache/web/" + webDownloadItem.getSuggestedFileName());
            })
            this.delegate.onDownloadUpdated((webDownloadItem: webview.WebDownloadItem) => {
              // 下载任务的唯一标识。
              console.log("download update guid: " + webDownloadItem.getGuid());
              // 下载的进度。
              console.log("download update guid: " + webDownloadItem.getPercentComplete());
              // 当前的下载速度。
              console.log("download update speed: " + webDownloadItem.getCurrentSpeed())
            })
            this.delegate.onDownloadFailed((webDownloadItem: webview.WebDownloadItem) => {
              console.log("download failed guid: " + webDownloadItem.getGuid());
              // 下载任务失败的错误码。
              console.log("download failed guid: " + webDownloadItem.getLastErrorCode());
            })
            this.delegate.onDownloadFinish((webDownloadItem: webview.WebDownloadItem) => {
              console.log("download finish guid: " + webDownloadItem.getGuid());
            })
            this.controller.setDownloadDelegate(this.delegate);
          } catch (error) {
            console.error(`ErrorCode: ${(error as BusinessError).code},  Message: ${(error as BusinessError).message}`);
          } 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
分享
微博
QQ
微信
回复
2024-08-06 20:14:36


相关问题
使用Web组件下载能力Demo
1240浏览 • 1回复 待解决
HarmonyOS 如何在web组件下载资源
535浏览 • 1回复 待解决
Web组件开启了强制深色模式会怎样
1166浏览 • 1回复 待解决
Web组件如何发起一个下载任务?
1170浏览 • 1回复 待解决
HarmonyOS 使用下载能力几个问题
722浏览 • 1回复 待解决
HarmonyOS Web组件实现异步请求拦截
644浏览 • 1回复 待解决
Web组件预加载,如何实现
2433浏览 • 1回复 待解决