CN114329283A - 文件处理方法、装置、设备及其存储介质 - Google Patents
文件处理方法、装置、设备及其存储介质 Download PDFInfo
- Publication number
- CN114329283A CN114329283A CN202011051857.8A CN202011051857A CN114329283A CN 114329283 A CN114329283 A CN 114329283A CN 202011051857 A CN202011051857 A CN 202011051857A CN 114329283 A CN114329283 A CN 114329283A
- Authority
- CN
- China
- Prior art keywords
- picture
- file
- content
- picture data
- format
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种文件处理方法、装置、设备及其存储介质。该方法包括:在接收到针对网页格式内容输入的保存操作时,提取网页格式内容包含的图片数据,该网页格式内容是指填充到富文本编辑器内的内容;将图片数据上传至云对象存储装置;接收云对象存储装置返回的与图片数据对应的图片链接地址;利用图片链接地址替换图片数据,得到目标网页格式内容。根据本申请实施例的技术方案,通过图片链接地址替换图片数据,减少图片数据在数据库中的存储空间,并减少带宽占用,加快页面加载速度,有效地提高了文件格式转换的效率。
Description
技术领域
本申请一般涉及文件转换技术领域,尤其涉及文件处理方法、装置、设备及其存储介质。
背景技术
在某些应用场景中,需要将常见的办公文件所包含的内容转换到网页的富文本编辑器内,在网页中的富文本编辑器内展示办公文件的内容。例如,通过人工手动复制粘贴的方式,将办公文件中内容逐一复制并粘贴到网页的富文本编辑器内。或者,需要将网页的富文本编辑器内展示的富文本内容转换成办公文件下载到本地。在下载过程中,需要手动地从富文本编辑器中复制相关内容,然后粘贴到办公文件中,再根据用户的需求调整办公文件的格式。反复复制粘贴,重复操作,使得用户的体验感不好。
又例如,将待转换的办公文件上传到某些转码网页(或者转码服务器)进行转码处理,得到用户期望转换的格式对应的内容。这种方式导致用户等待时间过长,使得用户的体验感也不好。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种文件处理方法、装置、设备及其存储介质,来提高用户的体验度。
第一方面,本申请实施例提供了一种文件处理方法,该方法包括:
在接收到针对网页格式内容输入的保存操作时,提取网页格式内容包含的图片数据,该网页格式内容是指填充到富文本编辑器内的内容;
将图片数据上传至云对象存储装置;
接收云对象存储装置返回的与图片数据对应的图片链接地址;
利用图片链接地址替换图片数据,得到目标网页格式内容。
第二方面,本申请实施例提供了一种文件处理方法,该方法包括:
在接收到针对网页格式内容的第一下载请求时,提取网页格式内容中包含的图片链接地址,该网页格式内容是指存储在云数据库中与所述第一下载请求对应的网页内容;
根据图片链接地址请求从云对象存储装置下载图片数据;
利用图片数据替换图片链接地址;
对替换后的网页格式内容进行格式转换处理,得到第一目标电子文件。
第三方面,本申请实施例提供了一种文件处理装置,该装置包括:
数据提取单元,用于在接收到针对网页格式内容输入的保存操作时,提取网页格式内容中包含的图片数据,该网页格式内容是指填充到富文本编辑器内的内容;
数据上传单元,用于将图片数据上传至云对象存储装置;
地址接收单元,用于接收云对象存储装置返回的与图片数据对应的图片链接地址;
第一替换单元,用于利用图片链接地址替换图片数据,得到目标网页格式内容。
第四方面,本申请实施例提供了一种文件处理装置,该装置包括:
地址提取单元,用于在接收到针对网页格式内容的第一下载请求时,提取与网页格式内容包含的图片链接地址,该网页格式内容是指存储在云数据库中与第一下载请求对应的网页内容;
数据下载单元,用于根据图片链接地址从云对象存储装置下载图片数据;
第二替换单元,用于利用图片数据替换网页格式内容包含的图片链接地址;
第二格式转换单元,用于对替换后的网页格式内容进行格式转换处理,得到第一目标电子文件。
第五方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如本申请实施例描述的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序用于:
该计算机程序被处理器执行时实现如本申请实施例描述的方法。
本申请实施例提供的一种文件处理方法、装置、设备及其存储介质,该方法在接收到针对网页格式内容输入的保存操作时,通过提取网页格式内容包含的图片数据,然后将图片数据上传至云对象存储装置;接收云对象存储装置返回的与图片数据对应的图片链接地址;最后,利用图片链接地址替换图片数据,得到目标网页格式内容,其中,网页格式内容是将待转换的原始格式的电子文件进行格式转换后填充到富文本编辑器内的内容。本申请通过图片链接地址替换图片数据,减少图片数据在数据库中的存储空间,并减少带宽占用,加快页面加载速度,有效地提高了文件格式转换的效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请实施例提供的文件处理方法的实施环境架构图;
图2示出了本申请实施例提供的文件处理方法的流程示意图;
图3示出了本申请实施例提供的选择文件界面操作示意图;
图4示出了本申请实施例提供的文件转换结果的界面示意图;
图5示出了本申请实施例提供的文件处理方法的流程示意图;
图6示出了本申请实施例提供的文件处理方法的流程示意图;
图7示出了本申请实施例提供的提供选择文件接口的界面示意图;
图8示出了本申请实施例提供的文件上传进度界面示意图;
图9示出了本申请实施例提供的文件处理方法的流程示意图;
图10示出了本申请实施例提供的文件处理方法的流程示意图;
图11(a)示出了本申请实施例提供的学生上级并编写实验报告的界面示意图;
图11(b)示出了本申请实施例提供的学生提交实验报告的界面示意图;
图11(c)示出了本申请实施例提供的教师查看学生已提交的实验报告的界面示意图;
图11(d)示出了本申请实施例提供的保存实验报告的界面示意图;
图11(e)示出了本申请实施例提供的以DOC格式保存实验报告的界面示意图;
图11(f)示出了本申请实施例提供的以PDF格式保存实验报告的界面示意图;
图12示出了本申请实施例提供的文件处理装置的结构示意图;
图13示出了本申请实施例提供的文件处理装置的结构示意图
图14示出了适于用来实现本申请实施例的终端设备或者服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关公开,而非对该公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与公开相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
技术术语解释
富文本格式是指对纯文本进行高层次渲染和计算,然后再呈现给用户浏览的文档。例如,HTML格式文档,Word文档。
富文本编辑器(英文全称Rich Text Editor,英文简称RTE)是指用户可以直接对可编辑区域内的文本、图形或文档中其他元素进行编辑,其可以实现粗体、斜体、下划线、颜色字、图片等效果。富文本编辑器常用在交互式平台,例如用于编辑博客、用户交互。富文本编辑也可以理解为一种内嵌于浏览器,所见即所得的文本编辑器。
云对象存储装置:也可以称为云对象存储库,是用于实现对象存储的云设备。对象存储,是用来描述解决和处理对象的方法,即以对象(Object)作为存储的基本单元,一个对象可以是文件的数据和一组属性信息的组合。
图1是本申请实施例提供的文件处理方法的实施环境架构图。如图1所示,该实施环境架构包括:多个终端设备101和服务器103,以及用于连接终端设备101和服务器103的公用网络102。
在线教育场景下,教师使用终端设备101将已有的电子文件上传至服务器103,或者第三方服务商将已有的共享电子文档上传至服务器103,以方便学生在线学习。已有的电子文件的格式可以是Doc文件、Docx文件以及PDF文件等。学生使用终端设备103在线完成课程学习后,在网页内以富文本的形式创建课堂笔记和实验报告等网页富文本格式内容,然后,可以以Doc文件、Docx文件以及PDF文件等文件格式下载在本地。
终端设备101可以是智能电视,智能手机、平板电脑、智能眼镜等移动设备,还可以是台式电脑等电子设备,但并不局限于此。
服务器103对教师使用终端设备101上传的电子文档进行处理和存储。服务器103还可以对学生使用终端设备101在线编辑的网页格式的内容进行处理和存储。
服务器103可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,服务器103可以从终端设备101接收上传的文件内容,服务器103也可以向终端设备101发送转换后的电子文档。终端设备101与服务器103之间通过公用网络102进行直接或间接地连接。可选地,上述的公用网络可以包括无线网络或有线网络,通过无线网络或者有线网络使用标准通信技术和/或协议。网络通常为因特网,也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。
在上述实施环境中,为了实现文件格式与网页富文本格式互转,例如教师上传文件,需要将上传文件转换成网页富文本格式,学生将网页富文本格式的内容进行下载,需要将网页富文本格式内容转换成办公文件格式。在相关技术中,通过教师或者学生等操作人员自己手动地将待上传的文件内容逐步复制到网页的富文本编辑器内,或者将网页的富文本编辑器内的内容逐步复制到待下载的文件里。这样重复的复制粘贴使得用户在使用在线教学产品的过程中,操作效率极低。
例如其他相关技术中,可以将用户上传的文件传输至服务器,由服务器进行格式转换处理,然后回传至客户端,客户端再将回传数据进行转换,得到可以在客户端的页面上展示和编辑网页富文本格式。服务器需要存储上传文件的全部内容至关联的数据库,导致数据库的存储空间需求较高。如果大量用户同步操作,对服务器进行访问,对则会到导致服务器的带宽占用率过高,页面加载速度过慢。
基于上述问题,本申请提出了一种文件处理方法,可以有效地解决上述问题,提升用户的操作效率,并改善用户的体验。
如图2所示,图2示出了本申请实施例提供的文件处理方法的流程示意图。该文件处理装置可以设置终端设备,也可以设置在服务器上,还可以同时分布在终端设备和服务器上。该方法包括:
步骤201,在接收到针对富文本编辑器内的网页格式内容输入的保存操作时,提取网页格式内容包含的图片数据。
步骤202,将图片数据上传至云对象存储装置;
步骤203,接收云对象存储装置返回的与图片数据对应的图片链接地址;
步骤204,利用图片链接地址替换图片数据,得到目标网页格式内容。
在上述步骤中,网页格式内容是指将待转换的原始格式的电子文件进行格式转换后,填充到富文本编辑器内的内容。例如,图4中具体实验内容所示的内容。
待转换的原始格式的电子文件是指通过终端设备上预先安装的客户端上传的电子文件。原始格式是指未经转换的初始格式。例如可以是Doc,Docx,PDF等格式。
在浏览器接收到上传的电子文件时,浏览器将电子文件发送给转换集群服务执行转换后,填充到富文本编辑器内得到网页格式内容。网页格式内容也可以称为网页富文本格式内容。其可以包括图片内容和文本内容。如图3所示,图中示出的名称为“实验场景介绍.docx”的文件,即待转换的原始格式的电子文件。经过格式转换处理后,得到如图4所示的富文本编辑器内显示内容,即网页格式内容。在富文本编辑器内容显示的网页格式内容包括文本内容和图片内容。
上述图片数据是指将图片按照图片编码方式处理后的数据。例如,将word文档中的图片按照Base64格式编码进行处理,得到Base64代码。图片数据可以写入到网页格式内容的图片地址标签内。例如写入图片地址标签内容的Base64格式的图片数据可以是:
<img
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEA AAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAAHhJREFUeNo8zjsOxCAMBFB/KEAUFFR0Cbng3nQPw68ArZdAlOZppPFIBhH5EAB8b+Tlt9MYQ6i1BuqFaq1CKSVcxZ2Acs6406KUgpt5/LCKuVgz5BDCSb13ZO99ZOdcZGvt4mJjzMV Kqcha68iIePB86GAiOv8CDADlIUQBs7MD3wAAAABJRU5ErkJggg%3D%3D"/>。
将电子文件转换成网页格式内容的过程:可以先将电子文件转换成中间网页格式内容;然后将中间网页格式内容填充到浏览器的富文本编辑器内,得到网页格式内容。中间网页格式内容例如可以是HTML格式内容,或者HTML5格式内容。
在得到网页格式内容之后,用户(例如教师)可以多次编辑网页格式内容,例如在富文本编辑器内对文字内容进行删除、修改、调整等操作,或者对图片进行替换、调整等操作。
当用户输入针对网页格式内容的保存操作时,则提取网页格式内容包含的图片数据,将图片数据上传至云对象存储装置。然后从云对象存储装置接收与图片数据对应的图片链接地址,利用图片链接地址替换图片数据,得到修改后的网页格式内容,即目标网页格式内容。
上述图片链接地址是指用于存储图片二进制对象的统一资源定位符(英文全称,Uniform Resource Locator,英文缩写URL)。URL是从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。本申请中,图片链接地址是云对象存储装置为图片二进制对象分配的地址资源。例如,写入图片标签地址内的图片链接地址可以是:
<img
src="https://sandbox-images-pro-1255701415.cos.ap-guangzhou.myqcloud.com/companyId-95/qcloudId-100004645036/1534925316674-2.png">。
本申请相对于相关技术中图片数据存储占用空间过大,通过将图片数据上传至云对象存储装置,并利用图片链接地址替换网页格式内容的图片数据,节省了图片数据的存储空间,而且也不会影响图片在富文本编辑器内的显示,有效地提高了文件格式转换的效率。
本申请还提出了一种文件处理方法,如图5所示,图5示出了本申请实施例提供的文件处理方法的流程示意图。该方法可以由文件处理装置执行。该文件处理装置可以设置终端设备,也可以设置在服务器上,还可以同时分布在终端设备和服务器上。该方法包括:
步骤301,获取待转换的原始格式的电子文件;
步骤302,对电子文件进行格式转换,得到中间网页格式内容;
步骤303,将中间网页格式内容填充到富文本编辑器内,得到网页格式内容;
步骤304,在接收到针对富文本编辑器内的网页格式内容输入的保存操作时,提取网页格式内容包含的图片数据。
步骤305,将图片数据上传至云对象存储装置;
步骤306,接收云对象存储装置返回的与图片数据对应的图片链接地址;
步骤307,利用图片链接地址替换图片数据,得到目标网页格式内容。
在上述步骤中,获取待转换的原始格式的电子文件可以根据预先配置的文件魔数和文件参数,对多个原始格式的电子文件进行过滤处理,得到待转换的原始格式的电子文件。文件魔数是指文件从起始位置开始连续几个字节对应的内容。这几个字节的内容通常是固定的,可以有意填写的,也可以是固定生成。通过这几个字节的内容可以确定文件对应的文件类型。
通过预先配置的文件魔数和文件参数,对多个原始格式的电子文件进行过滤筛选,可以排除文件过大,或者格式不符合处理要求的电子文档,通过文件参数可以防止超大文档对引擎造成过载。本申请通过文件魔数可以实现对文件格式的筛选,有效地提高文件处理的效率。文件参数,例如文件的大小参数。根据系统的处理能力,可以设置允许转换文件的大小为10-50MB,或者50MB以下的文档,这里文件的大小可以根据系统处理能力设置,此处不作限定。文件魔数,例如PDF的魔数是25504446,Docx的魔数是504b030414000600,文件魔数的表示还有其他方式,此处不作限定。
电子文件包含文本和图片,对电子文件进行格式转换成可以包括:
将电子文件包含的图片数据采用与图片数据对应的编码器进行编码处理,得到图片数据;
将图片数据转换成图片二进制对象;
将电子文件包含的文本数据采用中间网页格式进行处理,得到中间网页格式文本数据;
将图片二进制对象和中间网页格式文本数据填写到中间网页格式模板中,得到中间网页格式内容。
其中,将图片二进制对象和中间网页格式文本数据填写到中间网页格式模板中,得到中间网页格式内容,可以包括:
将图片二进制对象填写到中间网页格式模板的图片地址标签属性内,得到图片内容;
将中间网页格式文本数据填写到中间网页格式模板的文本标签属性内,得到文本内容。
中间网页格式内容包括图片内容和文本内容。
上述图片地址标签属性,包括但不限于img src。文本标签属性,包括但不限于标题、段落、格式、字体、字体大小、字体颜色等。
下面以电子文件为word文件为例,在将word文件转换成HTML文件时,可以将word文件内的图片和文字分离,将图片采用Base64编码器进行编码处理,得到Base64格式的图片。再将word文件内的文字内容按照预定定义文本属性进行处理得到待填入HTML文件的文本内容。按照HTML模板定义的图片地址标签属性和文本标签属性,将Base64格式的图片填写到图片地址标签属性内和待填入HTML文件的文本内容填写到文本标签属性内。
图片数据例如可以是经过Base64编码的图片数据。在将图片数据上传至云服务器的过程中,可以将经过Base64编码的图片数据再转换成图片二进制对象。然后将图片二进制对象上传至云数据库的云对象存储库。在云对象存储库中将图片以对象形式进行存储。接收云对象存储库返回的图片二进制对象对应的图片链接地址。
本申请提供的实施例,利用图片链接地址替换网页格式内容中图片数据,有效地的节省数据存储的空间,而且也不会影响图片在富文本编辑器内的显示。
可选地,为了降低文件转换的处理成本,同时提高文件转换的处理效率,本申请还提出了一种文件转换方法。下面参考图6-8,图6示出了本申请实施例提供的文件处理方法的流程示意图。该方法可以通过终端设备与服务器设备交互执行。例如,在终端设备上预先安装在线教育的客户端,或者通过浏览器登录访问网页实现相应的功能。在服务器上预先安装文档转换服务组件,以及服务器还包括云对象存储装置,云数据库。例如,服务器包括云容器引擎和云对象存储库等。
步骤401,浏览器接收用户输入的加载目标文档的操作,该目标文档为待处理的原始格式的电子文件。
在本步骤中,假设在教学练一站式平台中创建新的实验管理对象,在创建新实验管理的页面内填写实验相关信息,并点击富文本编辑器中的选择文件时限word文档的导入。即在浏览器中加载目标文档。
如图7所示,用户点击页面中显示的“选择文件”,页面跳转至图3所示的界面示意图,用户选择名称为“实验场景介绍.docx”的文档,点击打开。
步骤402,浏览器将目标文档上传至中间件;
步骤403,中间件接收目标文档,并检验目标文档的格式是否要求。
在本步骤中,中间件根据预先配置的文件魔数和文件参数对目标文档进行检验,如果符合转换文件的文件魔数和文件参数要求,则发送第一文件转换请求至文件转换集群服务组件。如图8所示,用户在浏览器的上传进度条上可以看到文件上传的进度。
步骤404,中间件发送第一文件转换请求至文件转换集群服务组件。
在本步骤中,经过中间件检验的电子文件向文件转换集群服务组件发送文件转换请求。例如第一文件转换请求,第一文件转换请求是用于请求对电子文件进行转换处理得到HTML页面的转换请求。
在第一文件转换请求包括待转换的原始格式的电子文件和中间网页格式参数。中间网页格式参数例如可以是HTML格式,或者HTML5格式。
步骤405,文件转换集群服务组件接收到第一文件转换请求,在文件集群服务组件中根据负载均衡策略确定一个工作负载。
在本步骤中,文件转换集群服务组件是指用于执行文档转换服务的多个服务组件,每个服务组件包括至少一个工作负载。工作负载由一个或多个实例组成。一个实例有一个或者多个容器组成,每个容器都对应一个容器镜像。
文件转换集群服务组件根据负载均衡策略在多个工作负载中选择一个工作负载。然后利用该工作负载中的LibreOffice文档转换引擎,对第一文件转换请求中的电子文件进行转换处理。第一文件转换请求可以是HTTP格式的请求,LibreOffice文档转换引擎接收到HTTP请求后,将HTTP请求中的文档转换成HTML页面,其中图片以Base64形式内嵌。即LibreOffice文档转换引擎将文档中图片按照Base64编码格式进行编码处理得到图片数据和文本数据。
步骤406,该工作负载用于将电子文件转换成中间网页格式内容。
步骤407,文件转换集群服务组件的工作负载的LibreOffice文档转换引擎返回HTML页面内容中间件,中间件透传HTML页面内容给浏览器。
在本步骤中,如图4所示,在浏览器的富文本编辑器内显示HTML页面内容。用户可以在富文本编辑器内容对转换格式后的网页格式内容进行修改、增删操作。
步骤408,浏览器利用HTML页面内容填充富文本编辑器;
在将HTML页面内容填充到富文本编辑器后,用户可以多次编辑富文本编辑器内内容,例如用户手动修改文档中的文字、图片,例如增删图片处理等操作。
步骤409,浏览器接收用户输入的保存操作。
该保存操作可以是用户针对页面上显示的保存按键输入点击,包括但不限于通过触摸屏接收用户输入的点击,或者通过鼠标输入的点击。
步骤410,浏览器发送提交保存请求至中间件;
步骤411,中间件遍历提取与提交保存请求对应的文档内所包含的base64格式的图片;
在本步骤中,中间件对于提交保存请求对应的文档内容进行分离,即对富文本编辑器内的文档内容进行分离可以得到图片数据和文本数据。
步骤412,中间件对base64格式的图片进行转换,得到图片二进制对象;
步骤412,中间件将图片二进制对象上传至云对象存储库;
步骤413,云对象存储库接收与图片二进制对象对应的图片链接地址URL。
步骤414,中间件利用图片链接地址URL替换图片标签内的图片数据。
步骤415,中间件向云数据库发送提交保存请求,在提交保存请求中包含替换后的富文本编辑器对应的代码内容。
步骤416,中间件接收云数据库返回的保存结果;中间件将保存结果发送至浏览器。
上述保存结果例如是保存成功,或者保存失败的提示消息。在返回保存结果的同时,还可以在浏览器中显示经过替换处理后的网页格式内容。
本申请提供的实施例,利用图片链接地址替换网页格式内容中图片数据,有效地的节省数据存储的空间,并加快页面加载速度。以及本申请在文件转换集群服务组件中采用开源的LibreOffice和负载均衡策略,可以有效地提高文件处理的效率。
在在线教育场景中,学生在网页上完成了实验数据的填写操作后,为了将实验数据进行保存,需要将网页格式内容转换成电子文档。请参考图9,图9示出了本申请实施例提供的文件处理方法的流程示意图,该方法可以由文件处理装置执行,该文件处理装置可以设置终端设备也可以设置在服务器上,还可以同时分布在终端设备和服务器上。该方法包括:
步骤501,在接收到针对网页格式内容的第一下载请求时,提取网页格式内容中包含的图片链接地址。
步骤502,根据图片链接地址从云对象存储装置下载图片数据。
步骤503,利用图片数据替换网页格式内容中包含的图片链接地址。
步骤504,对替换后的网页格式内容进行格式转换处理,得到第一目标电子文件。
在上述步骤中,网页格式内容是指存储在云数据库中与富文本编辑器对应的内容。网页格式内容是学生填写的实验报告页面所包含的内容。例如在学生客户端上展示的页面中的富文本编辑器内容,用户(例如学生)填写的实验数据和实验图片。在填写完成之后,将网页的富文本编辑器内的内容保存在云数据库中。网页格式内容中包含图片链接地址。该图片链接地址是实验图片在云对象存储装置中对应的地址。
在教师客户端上接收用户针对网页格式内容输入的下载操作,该下载操作可以是点击下载按键的操作。
在接收到下载操作后,遍历网页格式内容所包含的所有图片链接地址,按照图片链接地址从云对象存储装置下载图片数据。然后,利用图片数据替换网页格式内包含的图片链接地址。
遍历网页格式内容查找图片链接地址可以包括:确定网页格式内容所包含的图片地址标签;获取图片地址标签内包含的图片链接地址。然后,根据图片链接地址从云数据库的云对象存储库中下载图片二进制对象;对图片二进制对象进行转换得到图片数据。对图片二进制对象进行转换还可以包括对图片二进制对象进行转换处理得到Base64格式的图片数据。
利用Base64格式的图片数据替换网页格式内容中包含的图片链接地址,对替换后的网页格式内容进行格式转换处理,得到第一目标电子文件,包括:
将网页格式内容中包含的文本数据采用中间网页格式进行处理,得到中间网页格式文本数据;
将Base64格式的图片数据和中间网页格式文本数据填写到中间网页格式模板中,得到中间网页格式内容。
其中,将Base64格式的图片数据和中间网页格式文本数据填写到中间网页格式模板中,得到中间网页格式内容,可以包括:
将Base64格式的图片数据填写到中间网页格式模板的图片地址标签属性内,得到图片内容;
将中间网页格式文本数据填写到中间网页格式模板的文本标签属性内,得到文本内容。
中间网页格式内容包括图片内容和文本内容。
本申请提供的实施例,利用图片链接地址替换网页格式内容中图片数据,有效地的节省数据存储的空间,而且也不会影响图片在富文本编辑器内的显示。
可选地,为了降低文件转换的处理成本,同时提高文件转换的处理效率,本申请还提出了一种文件转换方法。下面结合图10进一步说明本申请提出的文件转换方法。请参考图10,图10示出了本申请实施例提供的文件处理方法的流程示意图。该方法可以通过终端设备与服务器设备交互执行。例如,在终端设备上预先安装在线教育的客户端,或者通过浏览器登录访问网页实现相应的功能。在服务器上预先安装文档转换服务组件,以及服务器还包括云对象存储装置,云数据库。例如,服务器包括云容器引擎和云对象存储库等。
第一用户通过对第一浏览器进行操作实现电子实验报告的提交过程,如步骤601-步骤605。如图11(a)所示,用户在浏览器的标签页内显示对应的操作界面实现对实验报告的编辑。如图11(b)所示,用户在浏览器的标签页内显示对应的操作界面实现对实验报告的提交界面。
步骤601,第一终端设备上预先安装的第一浏览器接收用户输入的在线编辑电子实验报告。第一终端设备为学生使用的终端设备。电子实验报告为网页格式。学生通过第一终端设备上预先安装的浏览器在线编辑电子实验报告。
步骤602,第一浏览器发送提交请求,该提交请求包含用户在线编辑的电子实验报告,该电子实验报告为网页格式,例如HTML格式。例如学生可以通过第一终端设备上预先安装的浏览器上点击提交按键,浏览器响应于用户的点击操作,将电子实验报告提交给中间层。
步骤603,中间层接收提交请求,并对提交请求包含的电子实验报告进行数据过滤处理;
在本步骤中,可以通过预先设置过滤设置来实现对电子实验报告的过滤处理。
步骤604,中间层向云服务器发送提交请求,提交请求包含待保存的电子实验报告。云服务器接收提交请求,解析得到电子实验报告,并对其进行存储。
步骤605,云服务器向中间层返回电子实验报告的提交结果,中间层向第一浏览器透传提交结果。该提交结果可以表示电子实验报告存储成功,即提交成功,否则会提示提交失败。
第二用户通过对第二浏览器进行操作实现查看电子实验报告,如步骤606-步骤609。其中,第二用户可以与第一用户为身份相同的用户,或者同一个用户。第二用户也可以是与第一用户身份不同的用户。图11(c)所示,第一用户或者第二用户可以查看到第一用户提交的电子实验报告。
步骤606,第二浏览器接收第二用户输入的电子实验报告的查看操作。第二终端设备可以是教师端使用的。教师通过预先安装在第二终端设备上的浏览器向中间层发送查看电子实验报告请求。
步骤607,第二浏览器向中间件发送查看请求,该查看请求包含用户输入的查看操作对应的电子实验报告的内容。
步骤608,中间层转发查看请求至云数据库。
步骤609,云数据库响应查看请求,向中间层返回与查看请求对应的网页格式的电子实验报告内容。该网页格式内容为HTML格式的内容。并且中间层向浏览器转发网页格式内容。
第二用户还可以通过对第二浏览器进行操作实现下载电子实验报告的操作,如步骤610-步骤619。
步骤610,第二浏览器接收到用户输入的针对网页格式内容的第一下载操作。图11(d)示出了,第二浏览器显示的网页格式内容,即电子实验报告,用户可以通过点击“保存为DOC”,作为第一下载操作。
步骤611,第二浏览器向中间层发送第一下载请求,第一下载请求包含待下载的网页格式内容;
步骤612,中间层遍历提取网页格式内容中包含的图片链接地址URL;
步骤613,中间层根据图片链接地址请求从云对象存储装置下载与图片链接地址对应的图片二进制对象;
步骤614,中间层接收云对象存储装置返回的与图片链接地址对应的图片二进制对象。
步骤615,中间层利用图片二进制对象替换图片链接地址,得到替换后的网页格式内容;
步骤616,中间层发送第二文件转换请求至文件转换集群服务组件;第二文件转换请求包括替换后的网页格式内容和电子文件格式参数。
步骤617,文件转换集群服务组件接收到第二文件转换请求,在文件集群服务组件中根据负载均衡策略确定一个工作负载;在文件转换集群服务组件中采用开源的LibreOffice和负载均衡策略,与前述方法相同。
步骤618,工作负载将网页格式内容转换成与电子文件格式参数对应的第一目标电子文件。第一目标电子文件如图11(e)所示。
步骤619,工作负载向中间件返回转换结果,中间件透传转换结果至第二浏览器。
在第二用户完成电子实验报告的下载的过程中,本申请提供的实施例,利用图片链接地址替换网页格式内容中图片数据,有效地的节省数据存储的空间,并加快页面加载速度。由于链接地址不需要复杂的逻辑和程序处理,可以很好地减少服务器程序的负担。
以及在文件转换集群服务组件中采用开源的LibreOffice和负载均衡策略,提高文件处理的效率。
下面还描述了第二用户通过对第二浏览器进行操作实现下载电子实验报告的PDF格式的操作,如步骤620-步骤621。
步骤620,第二浏览器还可以接收针对网页格式内容的第二下载操作。第二下载请求用于请求下载网页格式内容对应的PDF电子文件。可以通过点击“保存为PDF”,作为第二下载操作。
步骤621,第二浏览器响应于第二下载请求,第二浏览器获取与网页格式内容对应的文件对象模(英文全称Document Object Model,英文缩写DOM)结构;
步骤622,第二浏览器根据文件对象模型结构将网页格式内容转换成Canvas图片;
步骤623,浏览器调用JSPDF库生成与Canvas图片对应的PDF对象;
步骤624,浏览器将Canvas图片插入与Canvas图片对应的PDF对象内,生成第二目标电子文件。第二目标电子文件,如图11(f)所示。
上述第一目标电子文件和第二目标电子文件,其中第一目标电子文件是Doc格式的文件或者Docx格式的文件。第二目标电子文件是PDF格式的文件。画布,英文Canvas,是HTML5的一部分,允许脚本语言动态渲染图像。jsPDF是一个基于HTML5的客户端解决方案,用于在客户端JavaScript中生成PDF的库。
本申请还提供了多种格式转换方式,可以满足用户的不同转换需求。通过画布图片插入到调用JSPDF库生成的JDF对象内,有效地提高了文档的处理效率。
应当注意,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
进一步请参考图12,图12示出了本申请实施例提供的文件处理装置的结构示意图。该装置包括:
数据提取单元701,用于在接收到针对富文本编辑器内的网页格式内容输入的保存操作时,提取网页格式内容包含的图片数据。网页格式内容是指填充到富文本编辑器内的内容;
数据上传单元702,用于将图片数据上传至云对象存储装置;
地址接收单元703,用于接收云对象存储装置返回的与图片数据对应的图片链接地址;
第一替换单元704,用于利用图片链接地址替换图片数据,得到目标网页格式内容。
本申请实施例提供的文件处理装置可以用于执行上述图2-3,6描述的方法。
可选地,该装置还包括:
文件获取单元,用于根据预先配置的文件魔数和文件参数,对多个原始格式的电子文件进行过滤处理,得到待转换的原始格式的电子文件;
第一格式转换单元,用于对电子文件进行格式转换后,得到中间网页格式内容;
内容填充单元,用于将中间网页格式内容填充到富文本编辑器内,得到网页格式内容。
可选地,格式转换单元,还用于发送第一文件转换请求至文件转换集群服务组件,第一文件转换请求包括电子文件和中间网页格式参数;文件转换集群服务组件用于接收到第一文件转换请求,在文件集群服务组件中根据负载均衡策略确定一个工作负载;工作负载用于将所述电子文件转换成中间网页格式内容;以及接收文件转换集群服务组件返回的中间网页格式内容。
可选地,数据上传单元,还用于:
将图片数据转换成图片二进制对象;
将图片二进制对象上传至云对象存储装置。
第一替换单元还用于:
确定网页格式内容中的图片地址标签;
将图片地址标签内包含的图片数据替换成图片链接地址,得到目标网页格式内容。
进一步地,请参考图13,图13示出了本申请实施例还提供的文件处理装置的结构示意图。该装置包括:
地址提取单元801,用于在接收到针对网页格式内容的第一下载请求时,提取与网页格式内容包含的图片链接地址。网页格式内容是指存储在云数据库中与第一下载请求对应的网页内容。
数据下载单元802,用于根据图片链接地址请求从云对象存储装置下载图片数据;
第二替换单元803,用于利用图片数据替换网页格式内容中包含的图片链接地址;
第二格式转换单元804,用于对替换后的网页格式内容进行格式转换处理,得到第一目标电子文件。
本申请实施例提供的文件处理装置可以用于执行上述图9-10描述的方法。
可选地,数据下载单元还用于:
根据图片链接地址发送下载请求至云对象存储装置;
接收云对象存储装置根据图片链接地址返回的图片二进制对象;
对图片二进制对象进行转换得到图片数据。
第二格式转换单元,还用于:
发送第二文件转换请求至文件转换集群服务组件,第二文件转换请求包括网页格式内容和电子文件格式参数;文件转换集群服务组件用于接收到第二文件转换请求,在文件集群服务组件中根据负载均衡策略确定一个工作负载;工作负载用于将网页格式内容转换成与电子文件格式参数对应的第一目标电子文件;
接收文件转换集群服务组件返回的第一目标电子文件。
该装置还包括:
第二下载请求接收单元,用于接收针对网页格式内容的第二下载请求,第二下载请求用于请求下载网页格式内容对应的PDF电子文件;
响应于第二下载请求,获取与网页格式内容对应的文件对象模型结构;
根据文件对象模型结构将所述网页格式内容转换成Canvas图片;
调用JSPDF库生成与Canvas图片对应的PDF对象;
将Canvas图片插入PDF对象内,生成第二目标电子文件。
本申请还提供了多种格式转换方式,可以满足用户的不同转换需求。通过画布图片插入到调用JSPDF库生成的JDF对象内,有效地提高了文档的处理效率。
应当理解,上述装置中记载的诸单元或模块与参考图2-3描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于上述装置及其中包含的单元,在此不再赘述。上述装置可以预先实现在电子设备的浏览器或其他安全应用中,也可以通过下载等方式而加载到电子设备的浏览器或其安全应用中。上述装置中的相应单元可以与电子设备中的单元相互配合以实现本申请实施例的方案。
在上文详细描述中提及的若干模块或者单元,这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
下面参考图14,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
如图14所示,计算机系统包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本公开的实施例,上文参考流程图图2描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在机器可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括数据提取单元、数据上传单元以及地址接收单元、第一替换单元。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,数据提取单元还可以被描述为“用于提取网页格式内容包含的图片数据的单元”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中的。上述计算机可读存储介质存储有一个或者多个程序,当上述前述程序被一个或者一个以上的处理器用来执行描述于本申请的文件处理方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种文件处理方法,其特征在于,该方法包括:
在接收到针对网页格式内容输入的保存操作时,提取所述网页格式内容包含的图片数据,所述网页格式内容是指填充到富文本编辑器内的内容;
将所述图片数据上传至云对象存储装置;
接收所述云对象存储装置返回的与所述图片数据对应的图片链接地址;
利用所述图片链接地址替换所述图片数据,得到目标网页格式内容。
2.根据权利要求1所述的方法,其特征在于,在接收到针对网页格式内容输入的保存操作之前,该方法包括:
根据预先配置的文件魔数和文件参数,对多个原始格式的电子文件进行过滤处理,得到待转换的原始格式的电子文件;
对所述电子文件进行格式转换,得到中间网页格式内容;
将所述中间网页格式内容填充到所述富文本编辑器内,得到所述网页格式内容。
3.根据权利要求2所述的方法,其特征在于,所述对所述电子文件进行格式转换包括:
发送第一文件转换请求至文件转换集群服务组件,所述第一文件转换请求包括所述电子文件和中间网页格式参数;所述文件转换集群服务组件用于接收到所述第一文件转换请求,在所述文件集群服务组件中根据负载均衡策略确定一个工作负载;所述工作负载用于将所述电子文件转换成中间网页格式内容;
接收所述文件转换集群服务组件返回的所述中间网页格式内容。
4.根据权利要求1所述的方法,其特征在于,将所述图片数据上传至云对象存储装置包括:
将所述图片数据转换成图片二进制对象;
将所述图片二进制对象上传至所述云对象存储装置。
5.根据权利要求1所述的方法,其特征在于,所述利用所述图片链接地址替换所述图片数据,包括:
确定所述网页格式内容中的图片地址标签;
将所述图片地址标签内包含的所述图片数据替换成所述图片链接地址,得到所述目标网页格式内容。
6.一种文件处理方法,其特征在于,该方法包括:
在接收到针对网页格式内容的第一下载请求时,提取所述网页格式内容中包含的图片链接地址,所述网页格式内容是指存储在云数据库中与所述第一下载请求对应的网页内容;
根据所述图片链接地址请求从云对象存储装置下载图片数据;
利用所述图片数据替换所述图片链接地址;
对替换后的所述网页格式内容进行格式转换处理,得到第一目标电子文件。
7.一种文件处理装置,其特征在于,该装置包括:
数据提取单元,用于在接收到针对网页格式内容输入的保存操作时,提取所述网页格式内容中包含的图片数据,所述网页格式内容是指填充到富文本编辑器内的内容;
数据上传单元,用于将所述图片数据上传至云对象存储装置;
地址接收单元,用于接收所述云对象存储装置返回的与所述图片数据对应的图片链接地址;
第一替换单元,用于利用所述图片链接地址替换所述图片数据,得到目标网页格式内容。
8.一种文件处理装置,其特征在于,该装置包括:
地址提取单元,用于在接收到针对网页格式内容的第一下载请求时,提取与所述网页格式内容包含的图片链接地址,所述网页格式内容是指存储在云数据库中与所述第一下载请求对应的网页内容;
数据下载单元,用于根据所述图片链接地址从云对象存储装置下载图片数据;
第二替换单元,用于利用所述图片数据替换所述网页格式内容包含的图片链接地址;
第二格式转换单元,用于对替换后的所述网页格式内容进行格式转换处理,得到第一目标电子文件。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011051857.8A CN114329283A (zh) | 2020-09-29 | 2020-09-29 | 文件处理方法、装置、设备及其存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011051857.8A CN114329283A (zh) | 2020-09-29 | 2020-09-29 | 文件处理方法、装置、设备及其存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114329283A true CN114329283A (zh) | 2022-04-12 |
Family
ID=81011523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011051857.8A Pending CN114329283A (zh) | 2020-09-29 | 2020-09-29 | 文件处理方法、装置、设备及其存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114329283A (zh) |
-
2020
- 2020-09-29 CN CN202011051857.8A patent/CN114329283A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2017210597B2 (en) | System and method for the online editing of pdf documents | |
CN109947512B (zh) | 一种文本适配显示方法、装置、服务器及存储介质 | |
CN110765284B (zh) | 一种生成演示文稿的方法、系统、计算设备及存储介质 | |
CN103959281A (zh) | 用于将第三方内容与在线文档签名相关联的方法 | |
CN110020329B (zh) | 用于生成网页的方法、装置和系统 | |
CN110471656B (zh) | 组件层级的调整方法和装置 | |
US11562037B2 (en) | Crawlability of single page applications | |
CN111294395A (zh) | 一种终端页面传输方法、装置、介质和电子设备 | |
CN113382083A (zh) | 一种网页截图方法和装置 | |
CN111476006B (zh) | Pdf文件在线批注方法、装置、设备及可读存储介质 | |
CN115495417A (zh) | 内容加载方法、装置、设备、介质和程序产品 | |
CN113342450B (zh) | 页面处理的方法、装置、电子设备及计算机可读介质 | |
CN111859210B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN112486482A (zh) | 一种页面展示方法和装置 | |
CN114756228A (zh) | 页面处理方法、装置、设备及存储介质 | |
CN113282852A (zh) | 编辑网页的方法和装置 | |
CN114329283A (zh) | 文件处理方法、装置、设备及其存储介质 | |
US9875066B2 (en) | Single action print application creation | |
CN112765522B (zh) | 一种数字报刊内容生成方法、系统和计算机可读存储介质 | |
CN111913703B (zh) | 对象编辑方法、装置、电子设备及可读存储介质 | |
CN112926294A (zh) | 一种模板文件的生成方法和装置 | |
CN113743060A (zh) | 可定制的报表生成方法、装置、计算机设备及存储介质 | |
CA3158569A1 (en) | Systems and methods for synchronizing graphical displays across thin client devices | |
CN112306619A (zh) | 一种截图方法和装置 | |
CN112579080A (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 |