1.本发明涉及文件下载领域,具体而言,涉及一种文件下载方法及装置、处理器。
背景技术:
2.electron是一种常见的桌面开发工具,是使用javascript,html和css构建跨平台桌面应用程序的框架。它主要是通过内置的chromium内核解析html和css来渲染界面,通过javascript调用的原生api实现丰富的功能。
3.而electron作为一个通用的应用开发框架,没有提供文件下载系统,仅仅提供了简陋的触发下载的功能。electron应用会在用户使用的过程中,通过点击超链接或者按钮触发文件下载。
4.正是由于electron提供的下载功能过于简陋,目前基于electron的应用在市面上流行的如visual studio code、twitch、invision等都没有下载功能,而开放了下载功能的比如whatsapp和slack则只是可以触发文件下载,但是对下载的文件却没有建立系统去管理,导致使用者的文件下载体验较差,下载文件的管理混乱,在使用过程中,常常出现大量下载文件存放混乱、查找困难的场景。
5.针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
6.本发明实施例提供了一种文件下载方法及装置、处理器,以至少解决相关技术中桌面开发工具仅提供触发下载功能,难以进行管理,导致使用者对文件下载的体验较差的技术问题。
7.根据本发明实施例的一个方面,提供了一种文件下载方法,包括:触发桌面开发工具的下载事件;响应所述下载事件,获取预先设定的下载目录;根据所述下载目录,开始下载所述下载目录对应的文件。
8.可选的,触发桌面开发工具的下载事件包括:设置监听事件,用于监听所述桌面开发工具的下载事件的触发操作;通过所述监听事件,监听到所述桌面开发工具发生所述触发操作的情况下,确定触发所述下载事件。
9.可选的,通过所述监听事件,监听到所述桌面开发工具发生所述触发操作的情况下,确定触发所述下载事件包括:在监听到所述桌面开发工具发生点击链接的情况下,检查所述链接是否需要下载所述文件;在检查到所述链接需要下载所述文件的情况下,触发所述触发操作;在检查到所述链接不需要下载所述文件的情况下,响应所述链接进行跳转界面的操作。
10.可选的,响应所述下载事件,获取预先设定的下载目录之前,还包括:设置所述下载事件对应的下载方法,其中,所述下载方法包括下载路径,所述下载路径用于指示所述下载目录的存储路径;对所述下载方法进行缓存。
11.可选的,响应所述下载事件,获取预先设定的下载目录包括:在所述下载事件触发
时,获取缓存的所述下载事件对应的所述下载方法;根据所述下载方法的所述下载路径,获取所述下载目录。
12.可选的,根据所述下载方法的所述下载路径,获取所述下载目录之前,还包括:发送询问请求,其中,所述询问请求用于询问用户设置下载目录;接收响应所述询问请求输入的下载目录,并进行缓存。
13.可选的,根据所述下载目录,开始下载所述下载事件对应的文件包括:在所述文件开始下载时,将所述文件的下载任务同步到下载管理窗口中;在检测到所述文件的下载进度更新时,触发所述下载管理窗口的更新事件,对所述下载管理窗口的下载任务的状态进行更新。
14.可选的,在检测到所述文件的下载进度更新时,触发所述下载管理窗口的更新事件,对所述下载管理窗口的下载任务的状态进行更新之前,还包括:接收对所述下载管理窗口中的下载任务的操作,其中,所述操作包括下列至少之一,对正在下载的文件进行暂停操作,恢复操作,终止操作,取消操作,对下载失败的文件进行重试操作,删除操作,对下载完成的文件进行查找,打开,删除操作;根据所述操作更新所述文件的下载进度。
15.根据本发明实施例的另一方面,还提供了一种文件下载装置,包括:触发模块,用于触发桌面开发工具的下载事件;获取模块,用于响应所述下载事件,获取预先设定的下载目录;下载模块,用于根据所述下载目录,开始下载所述下载事件对应的文件。
16.根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述中任意一项所述的文件下载方法。
17.根据本发明实施例的另一方面,还提供了一种计算机存储介质,所述计算机存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机存储介质所在设备执行上述中任意一项所述的文件下载方法。
18.在本发明实施例中,采用触发桌面开发工具的下载事件;响应下载事件,获取预先设定的下载目录;根据下载目录,开始下载该下载目录对应的文件的方式,达到了通过设置下载目录,对下载文件进行系统管理的目的,从而实现了提高用户下载体验,对下载文件进行有效管理的技术效果,进而解决了相关技术中桌面开发工具仅提供触发下载功能,难以进行管理,导致使用者对文件下载的体验较差的技术问题。
附图说明
19.此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
20.图1是根据本发明实施例的一种文件下载方法的流程图;
21.图2是根据本发明实施方式的文件下载方法的流程图;
22.图3是根据本发明实施例的一种文件下载装置的示意图。
具体实施方式
23.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人
员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
24.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
25.根据本发明实施例,提供了一种文件下载方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
26.图1是根据本发明实施例的一种文件下载方法的流程图,如图1所示,该方法包括如下步骤:
27.步骤s102,触发桌面开发工具的下载事件;
28.步骤s104,响应下载事件,获取预先设定的下载目录;
29.步骤s106,根据下载目录,开始下载上述下载目录对应的文件。
30.通过上述步骤,采用触发桌面开发工具的下载事件;响应下载事件,获取预先设定的下载目录;根据下载目录,开始下载该下载目录对应的文件的方式,达到了通过设置下载目录,对下载文件进行系统管理的目的,从而实现了提高用户下载体验,对下载文件进行有效管理的技术效果,进而解决了相关技术中桌面开发工具仅提供触发下载功能,难以进行管理,导致使用者对文件下载的体验较差的技术问题。
31.上述桌面开发工具可以为electron,由于该桌面开发工具没有提供文件下载系统,仅仅提供了简陋的触发下载功能,也即是用户在使用过程中,通过点击超链接或者点击按钮触发文件下载,且无法对下载文件进行管理。
32.因此本实施例提供了上述文件下载方法,通过监听器,监测触发桌面开发工具的下载事件,响应该下载事件,获取预先设定的对应的下载目录。根据下载目录下载该下载目录对应的文件,通过下载目录,对下载文件进行系统管理的目的,从而实现了提高用户下载体验,对下载文件进行有效管理的技术效果,进而解决了相关技术中桌面开发工具仅提供触发下载功能,难以进行管理,导致使用者对文件下载的体验较差的技术问题。
33.可选的,触发桌面开发工具的下载事件包括:设置监听事件,用于监听桌面开发工具的下载事件的触发操作;通过监听事件,监听到桌面开发工具发生触发操作的情况下,确定触发下载事件。
34.通过给下载事件设置监听事件处理方法,在下载事件触发时方法会被执行,在方法内部给此次下载的文件设置下载路径,为文件存放设置项管理模块中用户设置的下载目录,设置完成文件就会开始下载。由于文件被设置了下载路径,系统不会在每次文件下载时总是重复询问用户下载目录,优化了文件下载体验。
35.另外在设置下载路径时,通过检测下载目录和下载文件名,文件命名模块会处理
下载文件名与下载目录内文件名的冲突,简化用户重命名操作。
36.可选的,通过监听事件,监听到桌面开发工具发生触发操作的情况下,确定触发下载事件包括:在监听到桌面开发工具发生点击链接的情况下,检查链接是否需要下载文件;在检查到链接需要下载文件的情况下,触发该触发操作;在检查到链接不需要下载文件的情况下,响应链接进行跳转界面的操作。
37.上述下载事件可以为发生点击链接的事件,相关技术中心的桌面开发工具也是通过点击链接或者点击按钮,触发文件下载。在监听到桌面开发工具发生点击链接的情况下,检查链接是否需要下载文件;在检查到链接需要下载文件的情况下,触发该触发操作;在检查到链接不需要下载文件的情况下,响应链接进行跳转界面的操作。从而根据用户所点击的链接的具体需求,确定是否需要进行响应,提高了用户文件下载的体验。
38.可选的,响应下载事件,获取预先设定的下载目录之前,还包括:设置下载事件对应的下载方法,其中,下载方法包括下载路径,下载路径用于指示下载目录的存储路径;对下载方法进行缓存。
39.将下载目录的存储路径,也即是下载路径进行存储,在用户退出应用再次进入时,设置项实时与最后一次设置同步,防止由于其他原因退出,导致用户的记录消失,进而提高用户的下载体验。
40.可选的,响应下载事件,获取预先设定的下载目录包括:在下载事件触发时,获取缓存的下载事件对应的下载方法;根据下载方法的下载路径,获取下载目录。
41.在下载事件触发时,可以获取缓存中的下载方法,通过下载方法的下载路径,确定下载目录的存储路径,根据该存储路径,获取下载目录,进而保证了根据下载目录对文件进行有效下载。
42.可选的,根据下载方法的下载路径,获取下载目录之前,还包括:发送询问请求,其中,询问请求用于询问用户设置下载目录;接收响应询问请求输入的下载目录,并进行缓存。
43.上述下载目录可以由用户设置,进而提高用户进行文件下载的使用灵活性,根据需求进行下载。具体的可以通过询问请求,获取用户的下载意图所需的下载目录。接收响应询问请求输入的下载目录,并进行缓存。
44.可选的,根据下载目录,开始下载该下载事件对应的文件包括:在文件开始下载时,将文件的下载任务同步到下载管理窗口中;在检测到文件的下载进度更新时,触发下载管理窗口的更新事件,对下载管理窗口的下载任务的状态进行更新。
45.在对文件进行下载过程中,将文件下载对应的下载任务在下载窗口中进行管理,可以将上述对应的下载任务显示在下载窗口中,包括下载任务对应的编号,下载速率,下载进度,文件名称等信息进行显示。在检测到文件的下载进度更新时,触发下载管理窗口的更新事件,对下载管理窗口的下载任务的状态进行更新。例如,下载进程暂停,就显示该下载任务暂停,下载任务失败,就显示该下载任务失败。以为用户提供下载任务的实时动态,以便用户进行管理。
46.可选的,在检测到文件的下载进度更新时,触发下载管理窗口的更新事件,对下载管理窗口的下载任务的状态进行更新之前,还包括:接收对下载管理窗口中的下载任务的操作,其中,操作包括下列至少之一,对正在下载的文件进行暂停操作,恢复操作,终止操
作,取消操作,对下载失败的文件进行重试操作,删除操作,对下载完成的文件进行查找,打开,删除操作;根据操作更新文件的下载进度。
47.在下载管理窗口中,用户可以对下载管理窗口中的下载任务进行管理。例如,正在下载的文件进行暂停操作,恢复操作,终止操作,取消操作,对下载失败的文件进行重试操作,删除操作,对下载完成的文件进行查找,打开,删除操作;根据操作更新文件的下载进度。根据需求对下载任务进行管理,从而进一步提高用户下载的体验。
48.需要说明的是,本申请实施例还提供了一种可选的实施方式,下面对该实施方式进行详细说明。
49.本实施方式提供了一种基于electron的文件下载系统及方法。通过此方案建立下载文件管理系统,提供给使用者更好的文件下载提示,优化文件下载体验,解决了下载文件管理混乱的问题。
50.主要分为下载触发模块和下载管理模块。其中下载触发模块又包含文件存放设置项管理模块、下载文件识别模块、下载事件处理模块、文件命名模块。而下载管理模块包含对下载任务的多窗口通信同步模块、下载任务缓存模块。
51.下面根据整个下载流程,分别具有解释的各个模块:
52.下载触发模块中:
53.一、文件存放设置项管理模块提供设置下载目录功能;
54.在每次下载事件触发时,electron应用都会询问用户下载目录。这里提供下载目录设置项,让用户设置好下载目录之后,不用再重复询问下载目录。同时此模块利用缓存技术,在本地和远程服务器上同时建立用户设置项的缓存,保证用户退出应用再次进入时,设置项实时与最后一次设置同步。
55.二、下载文件识别模块识别用户操作过程中的文件下载;
56.用户点击某些文件链接,或者点击页面中的跳转按钮时,这里下载文件识别模块会检查跳转地址,智能识别需要下载的文件链接,调用electron提供的原生api,触发下载事件。
57.三、监听下载事件;
58.下载事件处理模块中通过给下载事件设置事件处理方法,在下载事件触发时方法会被执行,在方法内部给此次下载的文件设置下载路径,为文件存放设置项管理模块中用户设置的下载目录,设置完成文件就会开始下载。由于文件被设置了下载路径,系统不会在每次文件下载时总是重复询问用户下载目录,优化了文件下载体验。
59.另外在设置下载路径时,通过检测下载目录和下载文件名,文件命名模块会处理下载文件名与下载目录内文件名的冲突,简化用户重命名操作。
60.下载管理模块中:
61.一、下载任务的多窗口通信同步模块会监听下载进度;
62.当用户在一个窗口内触发下载事件开始下载时,多窗口通信同步模块会将该下载任务同步到下载管理窗口中。同时文件的下载进度更新时,会触发下载进度更新的事件,通过给该事件设置事件处理函数,可以实时监听到文件下载进度,这个进度也会同步到下载窗口中,这样就可以将文件的下载进度记录到下载管理窗口中的文件列表中。进一步的,就可以展示给用户所有文件下载任务的进度,还可以对各个文件下载任务,提供暂停、恢复、
失败重试等操作选项,操作文件下载进度。
63.二、下载任务缓存模块会缓存下载历史;
64.下载任务缓存模块将会所有下载任务与任务进度状态,缓存到本地和远程的缓存服务器,用户即使退出应用,随时再次进入都可以查看和管理下载任务。同时可以对下载完成的文件,提供查找、打开、删除等文件管理选项。
65.本实施方式通过优化文件下载触发的流程,不用频繁的对每个下载文件设置下载目录,给使用者下载文件带来更好的用户体验。通过文件命名冲突处理算法,简化了用户的重命名操作。通过对electron提供的下载相关事件的监听和缓存的使用,支持了对下载文件进度的暂停、恢复、重试等操作,支持了对已下载文件的查找、打开、删除等管理操作,提高了用户的文件管理效率。弥补了electron应用缺少文件下载系统的缺陷。
66.图2是根据本发明实施方式的文件下载方法的流程图,如图2所示,现在从用户实际使用角度描述本发明的具体实施方式,分为两种场景:在应用中的实施方式和在下载管理窗口中的具体实施方式。
67.一、在应用中:
68.在除了下载管理窗口的以外的所有应用窗口界面中,设置对链接跳转的监听和对下载事件的监听。
69.当有链接跳转发生时,下载文件识别模块会检查链接。如果是需要下载的文件地址,调用electron提供的原生api,触发下载事件。
70.下载事件处理模块中,当下载事件触发时,文件命名模块获取下载文件名称和用户设置的下载目录,检查下载目录中的所有文件名称与当前下载文件名称,如果发现名称冲突,给下载文件名称上添加自增后缀。最后设置下载路径,文件将开始下载。
71.二、在应用的下载管理窗口中:
72.首先,这里提供下载目录设置项,用户可以在这里设置每次文件的下载目录,该设置项会被缓存,用户退出再次进入应用,仍然保持用户最后一次设置的下载目录值。
73.其次,当监听到下载事件创建时,通过多窗口通信模块将下载任务同步到下载管理窗口中,在下载任务记录中新增一条任务记录。同时多窗口通信模块通过监听该文件下载的进度,实时更新记录中的进度,这些记录的数据更新也会同步更新界面中下载记录列表的显示。此外,这些记录会被下载任务缓存模块缓存,用户退出应用,再次进入时,记录不会消失。
74.在下载记录列表中,用户对正在下载的文件,可以操作暂停、恢复、删除下载。对下载失败的文件,可以进行重试、删除操作。对下载完成的文件,可以进行查找、打开、删除操作。这些操作都会调用对应原生api,对下载对象实现相应的效果。
75.图3是根据本发明实施例的一种文件下载装置的示意图,如图3所示,根据本发明实施例的另一方面,还提供了一种文件下载装置,包括:触发模块32,获取模块34和下载模块36,下面对该装置进行详细说明。
76.触发模块32,用于触发桌面开发工具的下载事件;获取模块34,与上述触发模块32相连,用于响应下载事件,获取预先设定的下载目录;下载模块36,与上述获取模块34相连,用于根据下载目录,开始下载该下载事件对应的文件。
77.通过上述装置,采用触发桌面开发工具的下载事件;响应下载事件,获取预先设定
的下载目录;根据下载目录,开始下载该下载目录对应的文件的方式,达到了通过设置下载目录,对下载文件进行系统管理的目的,从而实现了提高用户下载体验,对下载文件进行有效管理的技术效果,进而解决了相关技术中桌面开发工具仅提供触发下载功能,难以进行管理,导致使用者对文件下载的体验较差的技术问题。
78.根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述中任意一项的文件下载方法。
79.根据本发明实施例的另一方面,还提供了一种计算机存储介质,计算机存储介质包括存储的程序,其中,在程序运行时控制计算机存储介质所在设备执行上述中任意一项的文件下载方法。
80.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
81.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
82.在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
83.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
84.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
85.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read
‑
only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
86.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
技术特征:
1.一种文件下载方法,其特征在于,包括:触发桌面开发工具的下载事件;响应所述下载事件,获取预先设定的下载目录;根据所述下载目录,开始下载所述下载目录对应的文件。2.根据权利要求1所述的方法,其特征在于,触发桌面开发工具的下载事件包括:设置监听事件,用于监听所述桌面开发工具的下载事件的触发操作;通过所述监听事件,监听到所述桌面开发工具发生所述触发操作的情况下,确定触发所述下载事件。3.根据权利要求2所述的方法,其特征在于,通过所述监听事件,监听到所述桌面开发工具发生所述触发操作的情况下,确定触发所述下载事件包括:在监听到所述桌面开发工具发生点击链接的情况下,检查所述链接是否需要下载所述文件;在检查到所述链接需要下载所述文件的情况下,触发所述触发操作;在检查到所述链接不需要下载所述文件的情况下,响应所述链接进行跳转界面的操作。4.根据权利要求1所述的方法,其特征在于,响应所述下载事件,获取预先设定的下载目录之前,还包括:设置所述下载事件对应的下载方法,其中,所述下载方法包括下载路径,所述下载路径用于指示所述下载目录的存储路径;对所述下载方法进行缓存。5.根据权利要求4所述的方法,其特征在于,响应所述下载事件,获取预先设定的下载目录包括:在所述下载事件触发时,获取缓存的所述下载事件对应的所述下载方法;根据所述下载方法的所述下载路径,获取所述下载目录。6.根据权利要求5所述的方法,其特征在于,根据所述下载方法的所述下载路径,获取所述下载目录之前,还包括:发送询问请求,其中,所述询问请求用于询问用户设置下载目录;接收响应所述询问请求输入的下载目录,并进行缓存。7.根据权利要求1所述的方法,其特征在于,根据所述下载目录,开始下载所述下载事件对应的文件包括:在所述文件开始下载时,将所述文件的下载任务同步到下载管理窗口中;在检测到所述文件的下载进度更新时,触发所述下载管理窗口的更新事件,对所述下载管理窗口的下载任务的状态进行更新。8.根据权利要求7所述的方法,其特征在于,在检测到所述文件的下载进度更新时,触发所述下载管理窗口的更新事件,对所述下载管理窗口的下载任务的状态进行更新之前,还包括:接收对所述下载管理窗口中的下载任务的操作,其中,所述操作包括下列至少之一,对正在下载的文件进行暂停操作,恢复操作,终止操作,取消操作,对下载失败的文件进行重试操作,删除操作,对下载完成的文件进行查找,打开,删除操作;
根据所述操作更新所述文件的下载进度。9.一种文件下载装置,其特征在于,包括:触发模块,用于触发桌面开发工具的下载事件;获取模块,用于响应所述下载事件,获取预先设定的下载目录;下载模块,用于根据所述下载目录,开始下载所述下载事件对应的文件。10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至8中任意一项所述的文件下载方法。
技术总结
本发明公开了一种文件下载方法及装置、处理器。其中,该方法包括:触发桌面开发工具的下载事件;响应下载事件,获取预先设定的下载目录;根据下载目录,开始下载上述下载目录对应的文件。本发明解决了相关技术中桌面开发工具仅提供触发下载功能,难以进行管理,导致使用者对文件下载的体验较差的技术问题。者对文件下载的体验较差的技术问题。者对文件下载的体验较差的技术问题。
技术研发人员:朱晓明 应干飞
受保护的技术使用者:杭州群核信息技术有限公司
技术研发日:2021.03.18
技术公布日:2021/6/29
转载请注明原文地址:https://doc.8miu.com/read-15423.html