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

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

HarmonyOS
2024-08-06 14:21:42
浏览
收藏 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}`);
          } 
分享
微博
QQ
微信
回复
2024-08-06 20:14:36
相关问题
使用Web组件下载能力Demo
436浏览 • 1回复 待解决
Web组件如何发起一个下载任务?
453浏览 • 1回复 待解决
Web组件开启了强制深色模式会怎样
401浏览 • 1回复 待解决
Web组件预加载,如何实现
1314浏览 • 1回复 待解决
Web组件如何实现高度自适应?
1055浏览 • 1回复 待解决
基于原生能力组件封装
457浏览 • 1回复 待解决
http并行下载实现方式
471浏览 • 1回复 待解决
Web组件如何实现文件上传功能?
415浏览 • 1回复 待解决
HarmonyOS web下载文件点击无反应
80浏览 • 1回复 待解决