CN110597761A - 基于浏览器的文件处理方法、装置、电子设备及存储介质 - Google Patents

基于浏览器的文件处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110597761A
CN110597761A CN201910882853.5A CN201910882853A CN110597761A CN 110597761 A CN110597761 A CN 110597761A CN 201910882853 A CN201910882853 A CN 201910882853A CN 110597761 A CN110597761 A CN 110597761A
Authority
CN
China
Prior art keywords
type
file
browser
mime
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910882853.5A
Other languages
English (en)
Other versions
CN110597761B (zh
Inventor
黄文君
余银
汪清
彭飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Longxin Zhongke (hefei) Technology Co Ltd
Original Assignee
Longxin Zhongke (hefei) Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Longxin Zhongke (hefei) Technology Co Ltd filed Critical Longxin Zhongke (hefei) Technology Co Ltd
Priority to CN201910882853.5A priority Critical patent/CN110597761B/zh
Publication of CN110597761A publication Critical patent/CN110597761A/zh
Application granted granted Critical
Publication of CN110597761B publication Critical patent/CN110597761B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供的基于浏览器的文件处理方法、装置、电子设备及存储介质,通过获取下载文件的MIME类型;判断所述MIME类型是否为服务器默认类型;若是,则调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型,并调用与下载文件的注册类型相应的应用程序,打开该下载文件;若否,则调用与下载文件的MIME类型相应的应用程序,打开该下载文件。本公开使得在打开基于浏览器下载的下载文件时,不必依赖于服务器默认类型的MIME类型,而是基于其下载文件注册类型以决定对于下载文件的处理方式,其相对于现有技术来讲,处理效率高,开发难度低,也便于用户使用。

Description

基于浏览器的文件处理方法、装置、电子设备及存储介质
技术领域
本公开涉及一种计算机技术,尤其涉及一种基于浏览器的文件处理方法、装置、电子设备及存储介质。
背景技术
在使用浏览器的过程中,用户经常会通过浏览器下载一些文件,并基于浏览器附件下载处理机制打开这些文件。在基于浏览器附件下载处理机制中,浏览器需要依赖于网络请求过程中获得的文件多用途互联网邮件扩展类型(Multipurpose Internet MailExtensions,简称MIME类型),调用操作系统中相应的应用程序打开该文件。
一般的,文件的MIME类型是浏览器从服务器获取的。在大多数情况下,服务端采用服务器默认类型(如application/octet-stream)作为文件的MIME类型,发送给浏览器。而浏览器在接收到服务器默认类型的文件之后,将向用户弹出对话框提示窗口,以使用户通过对话框提示窗口选取任意应用程序打开该文件。但是,浏览器在下一次接收到服务器默认类型的文件之后,依旧需要执行相同的过程,以弹出对话框提示窗口并根据用户选取的应用程序打开文件,其处理流程繁琐,处理效率较低。
为了提高处理效率,现有技术采用在服务端预置MIME类型与注册类型的文件类型标准逻辑表的方式,以使与应用程序关联的注册类型被直接发送至客户端,以供客户端根据注册类型对文件进行处理,但是,基于操作系统的多样化,针对同一MIME类型需要列举其与每一操作系统对应的注册类型,其开发难度和开发复杂性都很大。
发明内容
针对上述技术问题,本公开提供了一种基于浏览器的文件处理方法、装置、电子设备及存储介质。
第一方面,本公开提供了一种基于浏览器的文件处理方法,包括:
获取下载文件的MIME类型;
判断所述MIME类型是否为服务器默认类型;
若是,则调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型,并调用与下载文件的注册类型相应的应用程序,打开该下载文件;
若否,则调用与下载文件的MIME类型相应的应用程序,打开该下载文件。
在可选的示例中,判断所述MIME类型是否为服务器默认类型,包括:
获取所述MIME类型的类型取值;
判断所述类型取值是否与所述服务器默认类型的取值一致。
在可选的示例中,所述调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型,包括:
调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,获得下载文件的注册类型的取值;
利用所述注册类型的取值对所述MIME类型的类型取值进行覆盖。
在可选的示例中,所述调用与下载文件的注册类型相应的应用程序,打开该下载文件,包括:
根据覆盖后的MIME类型的类型取值,以及注册类型的取值与应用程序之间的关系列表,确定与所述注册类型对应的应用程序;其中,所述关系列表是预先注册并存储的;调用该应用程序打开该下载文件。
在可选的示例中,调用与下载文件的MIME类型相应的应用程序,打开该下载文件,包括:在注册类型的取值与应用程序之间的关系列表中,遍历是否存在有所述MIME类型的类型取值;其中,所述关系列表是预先注册并存储的本地的;若存在,则根据所述关系列表,确定并调用该MIME类型相应的应用程序,以打开该下载文件;若不存在,则执行调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型的步骤。
第二方面,本公开提供了一种基于浏览器的文件处理装置,包括:
收发单元,用于获取下载文件的MIME类型;
第一处理单元,用于判断所述MIME类型是否为服务器默认类型;
第二处理单元,用于在第一处理单元确定所述MIME类型为服务器默认类型时,调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型,并调用与下载文件的注册类型相应的应用程序,打开该下载文件;
第二处理单元,还用在第一处理单元确定所述MIME类型不为服务器默认类型时,调用与下载文件的MIME类型相应的应用程序,打开该下载文件。
在可选的示例中,第一处理单元,具体用于获取所述MIME类型的类型取值,判断所述类型取值是否与所述服务器默认类型的取值一致。
在可选的示例中,所述第二处理单元,具体用于调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,获得下载文件的注册类型的取值,利用所述注册类型的取值对所述MIME类型的类型取值进行覆盖。
在可选的示例中,所述第二处理单元,具体用于所述第二处理单元,具体用于根据覆盖后的MIME类型的类型取值,以及注册类型的取值与应用程序之间的关系列表,确定与所述注册类型对应的应用程序;其中,所述关系列表是预先注册并存储的;调用该应用程序打开该下载文件。
在可选的示例中,所述第二处理单元,具体具体用于在注册类型的取值与应用程序之间的关系列表中,遍历是否存在有所述MIME类型的类型取值;其中,所述关系列表是预先注册并存储的本地的;若存在,则根据所述关系列表,确定并调用该MIME类型相应的应用程序,以打开该下载文件;若不存在,则执行调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型的步骤。
第三方面,一种基于浏览器的文件处理装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取下载文件的MIME类型;
判断所述MIME类型是否为服务器默认类型;
若是,则调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型,并调用与下载文件的注册类型相应的应用程序,打开该下载文件;
若否,则调用与下载文件的MIME类型相应的应用程序,打开该下载文件。
第四方面,本公开提供了一种电子设备,所述电子设备中安装有浏览器和如前任一项所述的基于浏览器的文件处理方法装置;
所述基于浏览器的文件处理方法装置用于处理并打开所述浏览器获取的下载文件。
第五方面,本公开提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如前任一所述的方法。
本公开提供的基于浏览器的文件处理方法、装置、电子设备及存储介质,通过获取下载文件的MIME类型,判断所述MIME类型是否为服务器默认类型,若是,则调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型,并调用与下载文件的注册类型相应的应用程序,打开该下载文件;若否,则调用与下载文件的MIME类型相应的应用程序,打开该下载文件。从而使得在打开基于浏览器下载的下载文件时,不必依赖于服务器默认类型的MIME类型,而是基于其下载文件注册类型以决定对于下载文件的处理方式,其相对于现有技术来讲,处理效率高,开发难度低,也便于用户使用。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的示例,并与说明书一起用于解释本公开的原理。
图1为本公开示例一提供的一种基于浏览器的文件处理方法的流程示意图;
图2为本公开示例二提供的一种基于浏览器的文件处理方法的流程示意图;
图3为本公开示例三提供的一种基于浏览器的文件处理装置的结构示意图;
图4为本公开示例三提供的一种基于浏览器的文件处理装置的硬件结构示意图;
图5为本公开示例四提供的一种电子设备的结构示意图。
通过上述附图,已示出本公开明确的示例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定示例为本领域技术人员说明本公开的概念。
具体示例
这里将详细地对示例性示例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性示例中所描述的示例并不代表与本公开相一致的所有示例。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
文件的MIME类型是一种文件的性质和格式的标准化表示方式。在使用浏览器打开下载文件的过程中,浏览器首先需要通过网页的服务器获取到文件的MIME类型,并根据该文件的MIME类型调用可打开该MIME类型文件的应用程序。例如,针对doc这一MIME类型的文件,可调用文字编辑程序对该文件进行处理。
但是,在大多数情况下,服务器将采用服务器默认类型作为文件的MIME类型,并发送于浏览器。而浏览器在接收到服务器默认类型的文件之后,将向用户弹出对话框提示窗口,以使用户通过对话框提示窗口选取任意应用程序打开该文件。举例来说,针对某文件来说,当其MIME类型为ngnix时,即使该文件是doc、execl、pdf等普通MIME类型的文件,浏览器仍然会接收到服务器发送的该文件的MIME类型为服务器默认类型,即注册类型为application/octet-stream。其中,注册类型是指系统应用程序在安装过程,通过在/usr/share/applications目录下安装desktop文件,以向系统注册该应用程序可以处理文件的MimeType类型。当浏览器安装在为Linux系统中时,浏览器的配置中会将application/octet-stream类型“音乐播放器”应用程序进行关联,以使向用户弹出默认选择“音乐播放器”打开该文件的对话框提示窗口,用户可在该对话框提示窗口修改应用程序。
但是,处于安全的考虑,浏览器不会记录本次用户对该MIME类型为服务器默认类型的文件所进行的应用程序的选取,即浏览器在下一次接收到服务器默认类型的文件之后,依旧需要执行相同的过程,以弹出对话框提示窗口并根据用户选取的应用程序打开文件,其处理流程繁琐,处理效率低,用户体验不佳。
为了解决该问题,如表1所示的文件类型标准逻辑表,开发人员会在服务器中预存该文件类型标准逻辑表,以使服务器基于该文件类型标准逻辑表将每一下载文件的注册类型发送至客户端,以供客户端处理。
但是,基于浏览器所安装的系统的差异,在不同的系统下,同一MIME类型所对应的注册类型是不同的。例如,在Windows环境下,MIME类型的word的文件,其注册类型为application/msword,执行的应用程序为office办公软件;而在Linux环境下,MIME类型的word的文件,其注册类型为application/wps-office.wps和application/msword,执行的应用程序为libreoffice和wps_office。对于开发人员而言,针对于不同的系统环境,需要在服务器中穷尽每一系统环境下的MIME类型与相应的注册类型,其开发难度较高,开发复杂度较大。
下面以具体地示例对本公开的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的示例可以相互结合,对于相同或相似的概念或过程可能在某些示例中不再赘述。下面将结合附图,对本公开的示例进行描述。
针对现有技术中如何提供一种新的基于浏览器的文件处理方法以在提高处理效率的同时降低开发难度以及开发的复杂程度的技术问题,图1为本公开示例一提供的一种基于浏览器的文件处理方法的流程示意图。
如图1所示,该方法包括:
步骤101、获取下载文件的MIME类型;
步骤102、判断所述MIME类型是否为服务器默认类型;
若是,则执行步骤103;若否,则执行步骤104;
步骤103、调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型,并调用与下载文件的注册类型相应的应用程序,打开该下载文件;
步骤104、调用与下载文件的MIME类型相应的应用程序,打开该下载文件。
需要说明的是,本公开提供的基于浏览器的文件处理方法的执行主体为基于浏览器的文件处理装置,该基于浏览器的文件处理方法可以应用于对安装在各种类型操作系统或操作环境中的浏览器上,并为浏览器提供下载文件的处理方法。其中,浏览器是指安装在电子设备上的,用于为用户提供页面浏览以及页面交互等服务的应用程序。
此外,基于浏览器的文件处理装置可采用C/C++、Java、Shell或Python等语言编写;电子设备则可例如台式电脑、平板电脑、智能手机等;操作系统则可为windows系统,ios系统,Linux系统等可基于电子设备运行的系统,且本公开对电子设备以及操作系统不进行任何限定。
在本公开提供的基于浏览器的文件处理方法中,首先,基于浏览器的文件处理装置将获取下载文件的MIME类型,其中,如前所述的,MIME类型一般是开发人员在将下载文件上传至服务器时,服务器基于预设规则预先生成并存储在服务器中的。
具体来说,基于浏览器的文件处理装置将根据获取的用户下载请求中的下载文件的文件名,向所述服务器发起包括所述文件名的类型获取请求,其中,下载请求是由用户触发的。随后,文件处理装置将接收服务器发送的下载文件的MIME类型。
随后,基于浏览器的文件处理装置将根据接收到的MIME类型对该MIME类型是否为服务器默认类型进行判断。具体来说,基于浏览器的文件处理装置可获取所述MIME类型的类型取值,随后,判断所述类型取值是否与所述服务器默认类型的取值一致。
如当MIME类型的类型取值为application/octet-stream时,下载文件的MIME类型的类型取值与服务器默认类型的取值application/octet-stream完全一致,此时,下载文件的MIME类型为服务器默认类型;反之,如当MIME类型的类型取值为application/pdf时,下载文件的MIME类型的类型取值与服务器默认类型的取值application/octet-stream不一致,此时,下载文件的MIME类型不为服务器默认类型。
再后,根据不同的判断结果,基于浏览器的文件处理装置将对下载文件执行不同的处理操作。
其中,当MIME类型不为服务器默认类型时,即MIME类型取值不为application/octet-stream时,基于浏览器的文件处理装置可采用与下载文件的MIME类型相应的应用程序,打开该下载文件。
其中可知的是,在MIME类型不为服务器默认类型时,该下载文件的MIME类型一般为已知类型,文件处理装置可直接调用相应的应用程序对该下载文件进行打开处理即可。
而当MIME类型为服务器默认类型时,即MIME类型取值为application/octet-stream,基于浏览器的文件处理装置则需要调用预设的MIME类型获取函数对该下载文件进行解析,获得下载文件的注册类型,并采用与下载文件的注册类型相应的应用程序,打开该下载文件。
其中可知的是,在MIME类型为服务器默认类型时,该下载文件的MIME类型一般为未知类型,如前所述的,若直接调用应用程序将会出现,调用的应用程序与下载文件的MIME类型不匹配或不符合的问题,即调用了错误的应用程序打开该下载文件。此时,文件处理装置可调用预设的MIME类型获取函数对该下载文件进行解析,以先获得下载文件的注册类型的取值。其中,MIME类型获取函数具体可例如g_content_type_guess函数和g_content_type_get_mime_type函数,该函数可解析出下载文件的注册类型的取值,即真正的MIME类型的类型取值。
然后,文件处理装置可利用所述注册类型的取值对所述MIME类型的类型取值进行覆盖,即,将注册类型的取值作为该下载文件的MIME类型的类型取值以供后续处理。
最后,文件处理装置可根据覆盖后的MIME类型的类型取值,在预存的类型取值与应用程序之间的关系列表确定与所述注册类型对应的应用程序,调用该应用程序打开该下载文件。如前所述的,其中的类型取值与应用程序之间的关系列表是将应用程序安装至本地时预先配置和存储的。
本公开示例一提供的基于浏览器的文件处理方法,通过获取下载文件的MIME类型;判断所述MIME类型是否为服务器默认类型;若是,则调用预设的MIME类型获取函数对该下载文件进行解析,获得下载文件的注册类型,并采用与下载文件的注册类型相应的应用程序,打开该下载文件;若否,则采用与下载文件的MIME类型相应的应用程序,打开该下载文件,从而使得在打开基于浏览器下载的下载文件时,不必依赖于服务器默认类型的MIME类型,而是基于其下载文件注册类型以决定对于下载文件的处理方式,其相对于现有技术来讲,处理效率高,开发难度低,也便于用户使用。
在上述示例一的各示例的基础上,为了进一步说明本公开提供的基于浏览器的文件处理方法,图2为本公开示例二提供的一种基于浏览器的文件处理方法的流程示意图。如图2所示,该基于浏览器的文件处理方法包括:
步骤201、获取下载文件的MIME类型;
步骤202、获取所述MIME类型的类型取值,并判断所述类型取值是否与所述服务器默认类型的取值一致;
若是,则执行步骤203;若否,则执行步骤204;
步骤203、调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型,并调用与下载文件的注册类型相应的应用程序,打开该下载文件;
步骤204、在注册类型的取值与应用程序之间的关系列表中,遍历是否存在有所述MIME类型的类型取值;
其中,所述关系列表是预先注册并存储的本地的;
若是,则执行步骤205;若否,则执行步骤203;
步骤205、根据所述关系列表,确定并调用该MIME类型相应的应用程序,以打开该下载文件。
如前述示例类似的是,本公开提供的基于浏览器的文件处理方法的执行主体为基于浏览器的文件处理装置,该基于浏览器的文件处理方法可以应用于对安装在各种类型操作系统或操作环境中的浏览器上,并为浏览器提供下载文件的处理方法。其中,浏览器是指安装在电子设备上的,用于为用户提供页面浏览以及页面交互等服务的应用程序。
此外,基于浏览器的文件处理装置可采用C/C++、Java、Shell或Python等语言编写;电子设备则可例如台式电脑、平板电脑、智能手机等;操作系统则可为windows系统,Ios系统,linux系统等可基于电子设备运行的系统,且本公开对电子设备以及操作系统不进行任何限定。
在本公开提供的基于浏览器的文件处理方法中,首先,基于浏览器的文件处理装置将获取下载文件的MIME类型,其中,如前所述的,MIME类型一般是开发人员在将下载文件上传至服务器时,服务器基于预设规则预先生成并存储在服务器中的。
具体来说,基于浏览器的文件处理装置将根据获取的用户下载请求中的下载文件的文件名,向所述服务器发起包括所述文件名的类型获取请求,其中,下载请求是由用户触发的。随后,文件处理装置将接收服务器发送的下载文件的MIME类型。
随后,基于浏览器的文件处理装置将根据接收到的MIME类型对该MIME类型是否为服务器默认类型进行判断。具体来说,基于浏览器的文件处理装置可获取所述MIME类型的类型取值,随后,判断所述类型取值是否与所述服务器默认类型的取值一致。
其中的服务器默认类型具体可为前述的未知文件类型,如当MIME类型的类型取值为application/octet-stream时,下载文件的MIME类型的类型取值与服务器默认类型的取值application/octet-stream完全一致,此时,下载文件的MIME类型为服务器默认类型;反之,如当MIME类型的类型取值为application/pdf时,下载文件的MIME类型的类型取值与服务器默认类型的取值application/octet-stream不一致,此时,下载文件的MIME类型不为服务器默认类型。
再后,根据不同的判断结果,基于浏览器的文件处理装置将对下载文件执行不同的处理操作。
与前述示例一不同的是,在本示例二中,考虑到随着技术的进步,客户端所基于的环境将变得多样化,其所调用的应用程序也将多样化。此时,尽管服务器发送MIME类型的类型取值表明该下载文件的类型是已知的,但基于不同的环境,该类型所对应的应用程序可能无法在被该环境下的客户端调用,即服务器所指定的已知类型的下载文件的应用程序,在客户端所在环境下无效或不可用。
此时,为了保证文件处理装置的正常运行,本示例二中还将对类型取值有效性进行判定,即当MIME类型不为服务器默认类型时,即MIME类型取值不为application/octet-stream,基于浏览器的文件处理装置可在预存于本地的注册类型取值与应用程序之间的关系列表中,遍历是否存在有与所述MIME类型的类型取值一致的注册类型取值。一般的,若服务器指定的应用程序在客户端所在系统中可调用,那么在该关系列表中将存储有应用程序与注册类型取值之间的关联关系,反之,则不存储。因此,通过遍历关系列表中是否存在有所述MIME类型的类型取值以对于服务器指定应用程序的有效性进行判定,从而仅在关系列表存有所述MIME类型的类型取值时,即应用程序有效时,根据所述关系列表确定并调用该MIME类型相应的应用程序,以打开该下载文件;而在关系列表不存有所述MIME类型的类型取值时,即应用程序无效时,调用预设的MIME类型获取函数对该下载文件进行解析,获得下载文件的注册类型的取值,并采用与下载文件的注册类型的取值相应的应用程序,打开该下载文件。
同时,当MIME类型为服务器默认类型时,即MIME类型取值为application/octet-stream,如前述示例一类似的是,基于浏览器的文件处理装置则需要调用预设的MIME类型获取函数对该下载文件进行解析,获得下载文件的注册类型,并采用与下载文件的注册类型相应的应用程序,打开该下载文件。
其中可知的是,在MIME类型为服务器默认类型时,该下载文件的MIME类型一般为未知类型,如前所述的,若直接调用应用程序将会出现,调用的应用程序与下载文件的MIME类型不匹配或不符合的问题,即调用了错误的应用程序打开该下载文件。此时,文件处理装置可调用预设的MIME类型获取函数对该下载文件进行解析,以先获得下载文件的注册类型的取值。其中,MIME类型获取函数具体可例如g_content_type_guess函数和g_content_type_get_mime_type函数,该函数可解析出下载文件的注册类型的取值,即真正的MIME类型的类型取值。
然后,文件处理装置可利用所述注册类型的取值对所述MIME类型的类型取值进行覆盖,即,将注册类型的取值作为该下载文件的MIME类型的类型取值以供后续处理。
最后,文件处理装置可根据覆盖后的MIME类型的类型取值,在预存的类型取值与应用程序之间的关系列表确定与所述注册类型对应的应用程序,调用该应用程序打开该下载文件。如前所述的,其中的MIME类型与应用程序之间的关系列表是将应用程序安装至本地时预先配置和存储的。
本示例二在示例一的基础上,通过对于服务器指定应用程序进行有效性判断,从而提高基于浏览器的文件处理方法对于下载文件的处理准确率,以使采用正确有效的应用程序对下载文件进行打开处理。
图3为本公开示例三提供的一种基于浏览器的文件处理装置的结构示意图。
如图3所示,该基于浏览器的文件处理装置包括:
收发单元10,用于获取下载文件的MIME类型;
第一处理单元20,用于判断所述MIME类型是否为服务器默认类型;
第二处理单元30,用于在第一处理单元20确定所述MIME类型为服务器默认类型时,调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型,并调用与下载文件的注册类型相应的应用程序,打开该下载文件;第二处理单元30,还用还用在第一处理单元确定所述MIME类型不为服务器默认类型时,调用与下载文件的MIME类型相应的应用程序,打开该下载文件。
在可选的示例中,第一处理单元20,具体用于获取所述MIME类型的类型取值,判断所述类型取值是否与所述服务器默认类型的取值一致。
在可选的示例中,所述第二处理单元30,具体用于调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,获得下载文件的注册类型的取值,利用所述注册类型的取值对所述MIME类型的类型取值进行覆盖。
在可选的示例中,所述第二处理单元30,具体用根据覆盖后的MIME类型的类型取值,以及注册类型的取值与应用程序之间的关系列表,确定与所述注册类型对应的应用程序;其中,所述关系列表是预先注册并存储的;调用该应用程序打开该下载文件。
在可选的示例中,所述第二处理单元30,具体在注册类型的取值与应用程序之间的关系列表中,遍历是否存在有所述MIME类型的类型取值;其中,所述关系列表是预先注册并存储的本地的;若存在,则根据所述关系列表,确定并调用该MIME类型相应的应用程序,以打开该下载文件;若不存在,则执行调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型的步骤。
在可选的示例中,所述收发单元10,具体用于根据获取的用户下载请求中的下载文件的文件名,向所述服务器发起包括所述文件名的类型获取请求;接收服务器发送的下载文件的MIME类型。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程以及相应的有益效果,可以参考前述方法示例中的对应过程,在此不再赘述。
在其他示例中,图4为本公开示例三提供的一种基于浏览器的文件处理装置的硬件结构示意图。如图4所示,该基于浏览器的文件处理装置具体可包括:
处理器32;
用于存储处理器可执行指令的存储器31;
其中,处理器32被配置为:
获取下载文件的MIME类型;
判断所述MIME类型是否为服务器默认类型;
若是,则调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型,并调用与下载文件的注册类型相应的应用程序,打开该下载文件;
若否,则调用与下载文件的MIME类型相应的应用程序,打开该下载文件。
其中,上述的存储器31可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。而处理器32可由一个或多个应用专用集成电路(ASIC)、数字信号处理器架构(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器架构或其他电子元件实现。
上述指令可采用C/C++、Java、Shell或Python等语言编写,本示例对此不进行限制。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程以及相应的有益效果,可以参考前述方法示例中的对应过程,在此不再赘述。
图5为本公开示例四提供的一种电子设备的结构示意图,所述电子设备4中安装有浏览器5和如前任一项所述的基于浏览器的文件处理方法装置6;所述基于浏览器的文件处理方法装置6用于处理并打开所述浏览器5获取的下载文件。
需要说明的是,浏览器5可与远端的服务器7取得通信并进行数据交互。
需要说明的是,基于浏览器的文件处理方法装置可以应用于各种电子设备中,其运行方法可参见上述示例一或二所公开的方案,其结构可参见上述示例三所公开的方案。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和示例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
本公开提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如前任一所述的方法。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

Claims (13)

1.一种基于浏览器的文件处理方法,其特征在于,包括:
获取下载文件的MIME类型;
判断所述MIME类型是否为服务器默认类型;
若是,则调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型,并调用与下载文件的注册类型相应的应用程序,打开该下载文件;
若否,则调用与下载文件的MIME类型相应的应用程序,打开该下载文件。
2.根据权利要求1所述的文件处理方法,其特征在于,判断所述MIME类型是否为服务器默认类型,包括:
获取所述MIME类型的类型取值;
判断所述类型取值是否与所述服务器默认类型的取值一致。
3.根据权利要求2所述的文件处理方法,其特征在于,所述调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型,包括:
调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,获得下载文件的注册类型的取值;
利用所述注册类型的取值对所述MIME类型的类型取值进行覆盖。
4.根据权利要求3所述的文件处理方法,其特征在于,调用与下载文件的注册类型相应的应用程序,打开该下载文件,包括:
根据覆盖后的MIME类型的类型取值,以及注册类型的取值与应用程序之间的关系列表,确定与所述注册类型对应的应用程序;其中,所述关系列表是预先注册并存储的;
调用该应用程序打开该下载文件。
5.根据权利要求2-4任一项所述的文件处理方法,其特征在于,调用与下载文件的MIME类型相应的应用程序,打开该下载文件,包括:
在注册类型的取值与应用程序之间的关系列表中,遍历是否存在有所述MIME类型的类型取值;其中,所述关系列表是预先注册并存储的本地的;
若存在,则根据所述关系列表,确定并调用该MIME类型相应的应用程序,以打开该下载文件;
若不存在,则执行调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型的步骤。
6.一种基于浏览器的文件处理装置,其特征在于,包括:
收发单元,用于获取下载文件的MIME类型;
第一处理单元,用于判断所述MIME类型是否为服务器默认类型;
第二处理单元,用于在第一处理单元确定所述MIME类型为服务器默认类型时,调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型,并调用与下载文件的注册类型相应的应用程序,打开该下载文件;
第二处理单元,还用在第一处理单元确定所述MIME类型不为服务器默认类型时,调用与下载文件的MIME类型相应的应用程序,打开该下载文件。
7.根据权利要求6所述的文件处理装置,其特征在于,第一处理单元,具体用于获取所述MIME类型的类型取值,判断所述类型取值是否与所述服务器默认类型的取值一致。
8.根据权利要求7所述的文件处理装置,其特征在于,所述第二处理单元,具体用于调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,获得下载文件的注册类型的取值,利用所述注册类型的取值对所述MIME类型的类型取值进行覆盖。
9.根据权利要求8所述的文件处理装置,其特征在于,所述第二处理单元,具体用于根据覆盖后的MIME类型的类型取值,以及注册类型的取值与应用程序之间的关系列表,确定与所述注册类型对应的应用程序;其中,所述关系列表是预先注册并存储的;调用该应用程序打开该下载文件。
10.根据权利要求7-9任一项所述的文件处理装置,其特征在于,所述第二处理单元,具体用于在注册类型的取值与应用程序之间的关系列表中,遍历是否存在有所述MIME类型的类型取值;其中,所述关系列表是预先注册并存储的本地的;若存在,则根据所述关系列表,确定并调用该MIME类型相应的应用程序,以打开该下载文件;若不存在,则执行调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型的步骤。
11.一种基于浏览器的文件处理装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取下载文件的MIME类型;
判断所述MIME类型是否为服务器默认类型;
若是,则调用浏览器中预设的MIME类型获取函数对该下载文件进行解析,设置下载文件的注册类型,并调用与下载文件的注册类型相应的应用程序,打开该下载文件;
若否,则调用与下载文件的MIME类型相应的应用程序,打开该下载文件。
12.一种电子设备,其特征在于,所述电子设备中安装有浏览器和如权利要求6-10任一项所述的基于浏览器的文件处理方法装置;
所述基于浏览器的文件处理方法装置用于处理并打开所述浏览器获取的下载文件。
13.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-5中任一所述的方法。
CN201910882853.5A 2019-09-18 2019-09-18 基于浏览器的文件处理方法、装置、电子设备及存储介质 Active CN110597761B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910882853.5A CN110597761B (zh) 2019-09-18 2019-09-18 基于浏览器的文件处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910882853.5A CN110597761B (zh) 2019-09-18 2019-09-18 基于浏览器的文件处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110597761A true CN110597761A (zh) 2019-12-20
CN110597761B CN110597761B (zh) 2022-08-16

Family

ID=68860851

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910882853.5A Active CN110597761B (zh) 2019-09-18 2019-09-18 基于浏览器的文件处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110597761B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6457066B1 (en) * 1997-11-10 2002-09-24 Microsoft Corporation Simple object access protocol
US7730169B1 (en) * 1999-04-12 2010-06-01 Softricity, Inc. Business method and system for serving third party software applications
CN101986307A (zh) * 2010-11-11 2011-03-16 东莞宇龙通信科技有限公司 一种mime类型插件的生成方法、系统及浏览器
CN102663067A (zh) * 2012-03-31 2012-09-12 中标软件有限公司 一种基于Linux操作系统终端的文件打开方法
CN104615622A (zh) * 2014-06-30 2015-05-13 腾讯科技(深圳)有限公司 打开文件的方法、装置及移动终端
CN108595672A (zh) * 2018-04-28 2018-09-28 努比亚技术有限公司 一种识别下载文件类型的方法、装置及可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6457066B1 (en) * 1997-11-10 2002-09-24 Microsoft Corporation Simple object access protocol
US7730169B1 (en) * 1999-04-12 2010-06-01 Softricity, Inc. Business method and system for serving third party software applications
CN101986307A (zh) * 2010-11-11 2011-03-16 东莞宇龙通信科技有限公司 一种mime类型插件的生成方法、系统及浏览器
CN102663067A (zh) * 2012-03-31 2012-09-12 中标软件有限公司 一种基于Linux操作系统终端的文件打开方法
CN104615622A (zh) * 2014-06-30 2015-05-13 腾讯科技(深圳)有限公司 打开文件的方法、装置及移动终端
CN108595672A (zh) * 2018-04-28 2018-09-28 努比亚技术有限公司 一种识别下载文件类型的方法、装置及可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MICROSOFT: "在 Windows Internet Explorer 中处理 MIME 类型", 《HTTPS://DOCS.MICROSOFT.COM/EN-US/PREVIOUS-VERSIONS/WINDOWS/INTERNET-EXPLORER/IE-DEVELOPER/PLATFORM-APIS/MS775147(V=VS.85)》 *
张民: "Microsoft MIME类型研究及应用", 《大众科技》 *

Also Published As

Publication number Publication date
CN110597761B (zh) 2022-08-16

Similar Documents

Publication Publication Date Title
US11799984B2 (en) Installable web applications
US11829186B2 (en) System and methods for integration of an application runtime environment into a user computing environment
CN107203555B (zh) 页面加载处理方法及装置
EP2798494B1 (en) Virtual channel for embedded process communication
KR101722108B1 (ko) 서드 파티 어플리케이션 스크립터빌리티
US7735094B2 (en) Ascertaining domain contexts
US9690761B1 (en) Systems and methods for providing mobile browser access to mobile device functionalities
US20120227032A1 (en) Method, apparatus, and system for invoking widget
CN109240697B (zh) 调用处理方法及装置、存储介质
US11327727B2 (en) Systems and methods for integrating modules into a software application
CN109525584B (zh) 一种构建移动端跨平台多类型应用容器的方法
US20140317537A1 (en) Browser based application program extension method and device
CN111770043B (zh) 游戏数据通信方法、装置、存储介质及电子设备
CN110597761B (zh) 基于浏览器的文件处理方法、装置、电子设备及存储介质
CN112905969A (zh) 一种登录方法、装置、电子设备和计算机可读存储介质
US11172013B2 (en) System and method for launching and connecting to a local server from a webpage
CN111966931A (zh) 控件的渲染方法及装置
CN111124627A (zh) 应用程序的调起者确定方法、装置、终端及存储介质
CN111966368B (zh) 应用程序静默安装方法、系统、安卓终端和可读介质
KR102103029B1 (ko) Api를 이용하여 어플리케이션을 업그레이드하는 이동 단말 장치, 서비스 장치, 시스템 및 그 방법
CN117950773A (zh) 一种弹窗管理方法、系统、电子设备、存储介质及车辆
CN116010276A (zh) 一种基于VSCode的html页面本地调试方法
CN111209058A (zh) 一种获取进程名称的方法、装置、介质和设备
CN116775109A (zh) 安装包生成方法、应用程序运行方法、装置、设备及介质
CN113641923A (zh) 一种访问页面生成方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant