一种基于浏览器的图片资源下载方法及装置制造方法及图纸

技术编号:39753638 阅读:7 留言:0更新日期:2023-12-17 23:52
本申请提供了一种基于浏览器的图片资源下载方法及装置

【技术实现步骤摘要】
一种基于浏览器的图片资源下载方法及装置


[0001]本申请涉及互联网
,尤其涉及一种基于浏览器的图片资源下载方法及装置


技术介绍

[0002]浏览器是一种将指定网页数据进行显示,并能根据用户输入实现用户和网页交互的工具,几乎是目前使用率最高的客户端软件

浏览器就好比是进入万维网世界的窗口,使用户能够查看网页,并与在线网页中各种各样的应用程序进行互动

很多我们如今习以为常的活动,例如生成和分享文档

图片下载

视频聊天以及听音乐,都越来越多地通过浏览器实现

[0003]例如在购房报名系统中,购房者需要在浏览器环境中的报名系统客户端上传相关购房材料的照片,置业顾问在报名系统后台会对上述照片进行人工审核,人工审核完毕后需要将符合条件的照片导出为压缩包,并将其上传给政府相关部门备案

然而,在传统的图片导出过程中,由于照片的下载

压缩和导出过程相关代码均是直接在浏览器主线程中逐一执行,在照片数量过多或体积过大时,容易出现页面卡顿

并且图片下载的速度缓慢,导致用户体验感不佳


技术实现思路

[0004]有鉴于此,本申请提供了一种基于浏览器的图片资源下载方法及装置,旨在高效地在浏览器环境中下载图片资源

[0005]第一方面,本申请提供了一种基于浏览器的图片资源下载方法,所述方法包括:
[0006]在浏览器的主线程中生成工作者线程,所述工作者线程用于将目标数组分为多个目标子数组,所述目标数组用于存储多个图片下载地址;
[0007]根据所述多个目标子数组生成对应的多个工作者分线程;
[0008]利用所述多个工作者分线程下载图片资源,所述图片资源为所述多个目标子数组存储的图片下载地址对应的图片;
[0009]将所述图片资源返回工作者线程,以便通过所述工作者线程将所述图片资源返回给所述主线程

[0010]可选地,所述根据所述多个目标子数组生成对应的多个工作者分线程前,还包括:
[0011]在所述工作者线程中生成可转换流,所述可转换流包括可读端和可写端;
[0012]其中,所述可写端用于接收多个工作者分线程中下载并返回的所述图片资源,并将所述图片资源分批写入所述工作者线程的可转换流中

[0013]可选地,在所述图片资源全部下载完成后,所述将所述图片资源返回工作者线程,以便通过所述工作者线程将所述图片资源返回给所述主线程,包括:
[0014]通过所述可写端将所述图片资源写入所述工作者线程的可转换流中;
[0015]通过所述可读端读取所述工作者线程的可转换流中的所述图片资源,得到一个二
进制文件;
[0016]将所述二进制文件的地址返回给所述主线程,以便所述主线程将所述二进制文件中的图片资源导出

[0017]可选地,所述方法还包括:
[0018]在所述主线程中注册监听器,所述监听器用于监听所述工作者线程的运行状况,以便在所述监听器检测到所述工作者线程返回所述二进制文件的地址时,所述主线程根据所述二进制文件地址导出所述图片资源的压缩包

[0019]可选地,所述多个工作者分线程包括第一工作者分线程,所述利用所述多个工作者分线程下载图片资源,还包括:
[0020]所述第一工作者分线程下载出现错误时,定义一个定时器,所述定时器用于以限定的时间间隔连续重复运行发送下载请求的代码;
[0021]利用所述定时器向第一目标子数组对应的图片下载地址重新发送图片下载请求,所述第一目标子数组为所述第一工作者分线程对应的目标子数组;
[0022]在所述定时器运行超过预先限定的次数时,则将所述第一工作者分线程设置为失败并跳过执行

[0023]可选地,所述目标数组由浏览器主线程采用如下方式获得:
[0024]接收到图片导出指令后,向目标服务器发起图片地址获取请求;
[0025]接收目标服务器返回的目标数组

[0026]可选地,所述多个目标子数组由所述工作者线程采用如下方式得到:
[0027]获取所述目标数组中存储的图片下载地址的总数量;
[0028]获取所述目标子数组的数量范围;
[0029]根据所述总数量和所述数量范围确定所述多个目标子数组中每个目标子数组对应的图片下载地址数量;
[0030]根据所述每个目标子数组对应的图片下载地址数量将所述目标数组分为多个目标子数组

[0031]第二方面,本申请提供了一种基于浏览器的图片资源下载装置,所述装置包括:线程生成模块

分线程生成模块

图片资源下载模块和图片资源返回模块;
[0032]所述线程生成模块,用于在浏览器的主线程中生成工作者线程,所述工作者线程用于将目标数组分为多个目标子数组,所述目标数组用于存储多个图片下载地址;
[0033]所述分线程生成模块,用于根据所述多个目标子数组生成对应的多个工作者分线程;
[0034]所述图片资源下载模块,用于利用所述多个工作者分线程下载图片资源,所述图片资源为所述多个目标子数组存储的图片下载地址对应的图片;
[0035]所述图片资源返回模块,用于将所述图片资源返回工作者线程,以便通过所述工作者线程将所述图片资源返回给所述主线程

[0036]可选地,所述装置还包括可转换流生成模块;
[0037]所述可转换流生成模块,用于在所述工作者线程中生成可转换流,所述可转换流包括可读端和可写端;
[0038]其中,所述可写端用于接收多个工作者分线程中下载并返回的所述图片资源,并
将所述图片资源分批写入所述工作者线程的可转换流中

[0039]可选地,所述多个工作者分线程包括第一工作者分线程,所述图片资源下载模块还用于在所述第一工作者分线程下载出现错误时,定义一个定时器,所述定时器用于以限定的时间间隔连续重复运行发送下载请求的代码;利用所述定时器向第一目标子数组对应的图片下载地址重新发送图片下载请求,所述第一目标子数组为所述第一工作者分线程对应的目标子数组;在所述定时器运行超过预先限定的次数时,则将所述第一工作者分线程设置为失败并跳过执行

[0040]本申请提供了一种基于浏览器的图片资源下载方法及装置

该方法包括:先在浏览器的主线程中生成工作者线程,该工作者线程用于将目标数组分为多个目标子数组,该目标数组用于存储多个图片下载地址

然后,根据目标子数组生成对应的多个工作者分线程

再利用多个工作者分线程下载图片资源,该图片资源为工作者分线程对应的目标子数组存储的图片下载地址对应的图片

最后,将图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于浏览器的图片资源下载方法,其特征在于,所述方法包括:在浏览器的主线程中生成工作者线程,所述工作者线程用于将目标数组分为多个目标子数组,所述目标数组用于存储多个图片下载地址;根据所述多个目标子数组生成对应的多个工作者分线程;利用所述多个工作者分线程下载图片资源,所述图片资源为所述多个目标子数组存储的图片下载地址对应的图片;将所述图片资源返回工作者线程,以便通过所述工作者线程将所述图片资源返回给所述主线程
。2.
根据权利要求1所述的方法,其特征在于,所述根据所述多个目标子数组生成对应的多个工作者分线程前,还包括:在所述工作者线程中生成可转换流,所述可转换流包括可读端和可写端;其中,所述可写端用于接收多个工作者分线程中下载并返回的所述图片资源,并将所述图片资源分批写入所述工作者线程的可转换流中
。3.
根据权利要求2所述的方法,其特征在于,在所述图片资源全部下载完成后,所述将所述图片资源返回工作者线程,以便通过所述工作者线程将所述图片资源返回给所述主线程,包括:通过所述可写端将所述图片资源写入所述工作者线程的可转换流中;通过所述可读端读取所述工作者线程的可转换流中的所述图片资源,得到一个二进制文件;将所述二进制文件的地址返回给所述主线程,以便所述主线程将所述二进制文件中的图片资源导出
。4.
根据权利要求3所述的方法,其特征在于,所述方法还包括:在所述主线程中注册监听器,所述监听器用于监听所述工作者线程的运行状况,以便在所述监听器检测到所述工作者线程返回所述二进制文件的地址时,所述主线程根据所述二进制文件地址导出所述图片资源的压缩包
。5.
根据权利要求1所述的方法,其特征在于,所述多个工作者分线程包括第一工作者分线程,所述利用所述多个工作者分线程下载图片资源,还包括:所述第一工作者分线程下载出现错误时,定义一个定时器,所述定时器用于以限定的时间间隔连续重复运行发送下载请求的代码;利用所述定时器向第一目标子数组对应的图片下载地址重新发送图片下载请求,所述第一目标子数组为所述第一工作者分线程对应的目标子数组;如果所述定时器运行超过预先限定的次数,则将所述第一工作者分线程设置为失败并跳过执行
。6.
根据权利要求1所述的方法,...

【专利技术属性】
技术研发人员:汝星星王克廷
申请(专利权)人:成都博点科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1