CN109450970A - 基于编程语言上传文件至后台服务器的方法、电子设备 - Google Patents
基于编程语言上传文件至后台服务器的方法、电子设备 Download PDFInfo
- Publication number
- CN109450970A CN109450970A CN201811133554.3A CN201811133554A CN109450970A CN 109450970 A CN109450970 A CN 109450970A CN 201811133554 A CN201811133554 A CN 201811133554A CN 109450970 A CN109450970 A CN 109450970A
- Authority
- CN
- China
- Prior art keywords
- file
- background server
- upload
- programming
- destination
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开基于编程语言上传文件至后台服务器的方法、电子设备,方法包括:预先为需要上传的文件添加中间文件,得到包含中间文件的目标文件,并配置上传属性信息,所述上传属性信息包括同时上传文件的数量;根据预定的接口信息将所述目标文件上传至后台服务器。通过本发明提供的方法,用户可先为需要上传的文件添加中间文件,从而得到包含中间文件的目标文件,然后配置同时上传文件的数量,最后根据预定的接口信息将目标文件同时上传至后台服务器。这样,用户只需要配置同时上传文件的数量,便能实现批量上传文件;并且,本发明提供的方法不需要对文件进行压缩,大大提高了效率。
Description
技术领域
本发明涉及文件上传领域,尤其涉及基于编程语言上传文件至后台服务器的方法、电子设备。
背景技术
为了同步文件或者保护文件,经常需要将本地文件上传至后台服务器,这样,当本地文件出现异常时,便能从后台服务器中下载副本文件(即预先上传的文件),从而用后台服务器下载的副本文件替换异常的本地文件。
现有技术中,往往直接将本地文件上传至后台服务器,或者先对本地文件进行压缩,得到压缩文件,再将压缩文件上传至后台服务器。
然而,现有技术中,直接将本地文件上传至后台服务器的方式,在同一时刻,仅能选择其中一件本地文件上传至后台服务器,也就是说,无法选择多件本地文件同时上传至后台服务器;如果用户希望同时上传多个文件,只能先将需要上传的文件进行打包(压缩),得到一个压缩文件,这种压缩方式虽然能够同时上传多个文件,但是,后续从后台服务器下载本地文件时,只能下载压缩文件,即下载所有文件,无法下载其中一件本地文件。
也就是说,现有技术中,在不对本地文件压缩的情况下,无法批量上传本地文件。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供基于编程语言上传文件至后台服务器的方法、电子设备,旨在解决在不对本地文件压缩的情况下,无法批量上传本地文件的问题。
本发明的技术方案如下:
一种基于编程语言上传文件至后台服务器的方法,其包括:
A、预先为需要上传的文件添加中间文件,得到包含中间文件的目标文件,并配置上传属性信息,所述上传属性信息包括同时上传文件的数量;
B、根据预定的接口信息将所述目标文件上传至后台服务器。
优选的,所述步骤A包括:
通过koa编程语言为需要上传的文件添加中间文件,所述中间文件为koa框架文件。
优选的,所述上传属性信息还包括:上传目录、上传速度的最大值以及上传速度的最小值。
优选的,所述步骤B具体包括:
B1、当执行所述接口信息时,自动获取所述koa框架文件;
B2、判断所述koa框架文件对应的目标文件是否为表单文件;
B3、当所述目标文件为表单文件时,则将目标文件上传至后台服务器。
优选的,所述步骤B之后包括:
C、后台服务器接收到目标文件后,通过Node.js的fs模块将目标文件转化为可读文件。
优选的,所述步骤C之后包括:
D、通过fast-csv读取所述可读文件,并将所述可读文件转化为数组文件。
优选的,所述步骤D之后包括:
E、遍历得到的数组文件,并在所述数组文件中插入数字和/或对原有数据进行更新,得到更新后的文件。
本发明还提供一种电子设备,其包括:
处理器,适于实现各指令,以及
存储设备,适于存储多条指令,所述指令适于由处理器加载并执行:
预先为需要上传的文件添加中间文件,得到包含中间文件的目标文件,并配置上传属性信息,所述上传属性信息包括同时上传文件的数量;
根据预定的接口信息将所述目标文件上传至后台服务器。
本发明还提供一种计算机程序产品,其中,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器所述的基于编程语言上传文件至后台服务器的方法。
本发明还提供一种非易失性计算机可读存储介质,其中,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器所述的基于编程语言上传文件至后台服务器的方法。
有益效果:通过本发明提供的方法,用户可先为需要上传的文件添加中间文件,从而得到包含中间文件的目标文件,然后配置同时上传文件的数量,最后根据预定的接口信息将目标文件同时上传至后台服务器。这样,用户只需要配置同时上传文件的数量,便能实现批量上传文件;并且,本发明提供的方法不需要对文件进行压缩,大大提高了效率。
附图说明
图1为本发明基于编程语言上传文件至后台服务器的方法较佳实施例的流程图。
图2为本发明电子设备较佳实施例的结构框图。
具体实施方式
本发明提供基于编程语言上传文件至后台服务器的方法、电子设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,一种基于编程语言上传文件至后台服务器的方法,其包括:
S1、预先为需要上传的文件添加中间文件,得到包含中间文件的目标文件,并配置上传属性信息,所述上传属性信息包括同时上传文件的数量;
S2、根据预定的接口信息将所述目标文件上传至后台服务器。
通过本发明提供的方法,当用户上传文件至后台服务器时,不再需要单独上传本地文件,也就是说,能够批量上传本地文件至后台服务器。并且,与传统的压缩方式相比,本发明不需要对本地文件压缩,便可实现批量上传本地文件上传至后台服务器的目的,当从后台服务器下载本地文件时,也不需要下载全部本地文件,只需下载对应的本地文件。
所述步骤S1中,需要上传的文件即为本地文件,本地文件可以是文本文件,也可以是图片文件,当然也可以是视频文件或音乐文件等等。
所述中间文件具体是一种框架文件,后续将对中间文件详细说明。
在为本地文件添加中间文件后,将得到包含中间文件的目标文件。例如,本地文件为A,中间文件为B,那么目标文件便为A+B,当然,本发明并不是简单的将本地文件和中间文件相加得到目标文件。
优选的,所述步骤S1包括:
通过koa编程语言为需要上传的文件添加中间文件,所述中间文件为koa框架文件。
koa是一个新的web框架,由Express幕后的原班人马打造。其是一种更小、更富有表现力、更健壮的web应用和API开发应用。通过利用async函数丢弃回调函数,并有力地增强错误处理,并且,koa并没有捆绑任何中间件。
koa框架文件是编程语言koa内置的一种框架。具有稳定、便捷和易实现的特点,因此选用koa框架文件作为本发明中的中间文件。
优选的,所述上传属性信息还包括:上传目录、上传速度的最大值以及上传速度的最小值。
其中,上传目录是指后台服务器中的特定目录,即将后台服务器存储目标文件的目录。
优选的,根据预定的保留时间保存或删除上传目录中的目标文件。也就是说,在用户将目标文件上传至上传目录后,将自动保存或删除目标文件。具体的,先获取上传目标文件的上传时间,以及获取当前时间,如果当前时间与上传时间的时间差大于或等于预设的保留时间,则删除对应给的本地文件;如果当前时间与上传时间的时间差小于预设的保留时间,则保存本地文件。
例如,预设的保留时间为3个月,当前时间为9月20日,上传目标文件A的时间为6月20日,即上传时间为6月20日,显然,当前时间与上传时间的时间差为3个月,即时间差等于预设的保留时间,那么将删除上传目录智能柜的本地文件A。
优选的,根据目标文件的上传时间在上传目录中建立子目录。例如,上传目标文件A的上传时间为9月20日,上传目标文件B的上传时间为9月21日,上传目标文件C的上传时间为9月20日,那么根据上传时间在上传目录中建立2个子目录,其中,第一子目录为9月20日,其包含的目标文件为:目标文件A和目标文件C,第二子目录为9月21日,其包含的目标文件为:目标文件B。这样,便可以根据保留时间批量删除目标文件。例如,目标文件A的时间差超过预设的保留时间,由于目标文件A与目标文件C的上传时间相同,那么,目标文件A与目标文件C的时间差也相同,从而便可以在计算目标文件A的时间差后,直接获得目标时间C的时间差,从而直接删除第一个子目录。
上传速度的最大值以及上传速度的最小值具体是根据电子设备的网速进行配置的,上传速度的最大值不能超过网速的最大值,当然,用户可以根据需要,配置上传速度的最大值。例如,网速的最大值为10M/s,用户配置的上传速度的最大值为9.9M/s。通过配置上传速度,用户可以计算上传目标文件的时间。配置上传速度的最小值能够保证按照大于上传速度的最小值的速度上传目标文件,例如,用户将上传速度的最小值配置为5M/s,那么上传本地文件时的速度将大于5M/s,且小于9.9M/s。
所述步骤S2中,所述接口信息具体是指一种脚本文件,当执行接口信息时,便能自动将目标文件上传至后台服务器的上传目录中。
优选的,所述步骤S2具体包括:
S21、当执行所述接口信息时,自动获取所述koa框架文件;
S22、判断所述koa框架文件对应的目标文件是否为表单文件;
S23、当所述目标文件为表单文件时,则将目标文件上传至后台服务器。
所述步骤S21中,当执行接口信息时,获取目标文件中的中间文件,即获取koa框架文件。
所述步骤S22中,由于本发明仅仅针对表单文件,也就是说,本发明的目的是将表单文件上传至后台服务器的上传目录中。用户可先为所有的本地文件添加中间文件,得到包含中间文件的目标文件,然后,判断koa框架文件对应的目标文件是否为表单文件,这样,便可以选择目标文件为表单文件的本地文件。
所述步骤S23中,将表单文件上传至后台服务器的上传目录。
例如,预先为本地文件A,本地文件B和本地文件C添加中间文件D,从而得到目标文件A+D,目标文件B+D和目标文件C+D,但本地文件A为文字文件,本地文件B为表单文件,本地文件C为视频文件,在通过中间文件D进行判断后,将目标文件B+D上传至后台服务器的上传目录。
这样,便可以有效而准确的上传目标文件。
本发明其中一个目的是批量上传表单文件至后台服务器,具体的上传步骤已在上述步骤中详述,本发明的另一目的是通过后台服务器读取目标文件,下面将对后台服务器如何读取目标文件进行详细的说明和论述。
优选的,所述步骤S2之后包括:
S3、后台服务器接收到目标文件后,通过Node.js的fs模块将目标文件转化为可读文件。
Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js不是一个JavaScript框架,不同于CakePHP、Django、Rails。Node.js更不是浏览器端的库,不能与jQuery、ExtJS相提并论。Node.js是一个让JavaScript运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。
Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。V8引擎执行Javascript的速度非常快,性能非常好。Node.js是一个基于ChromeJavaScript运行时建立的平台,方便地搭建响应速度快、易于扩展的网络应用。Node.js使用事件驱动,非阻塞I/O模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。
fs(filesystem)模块提供本地文件的读写能力,是POSIX文件操作命令的简单包装。
将Node.js作为后台服务器的语言,这样,后台服务器便能读取目标文件,并将目标文件转化为可读文件。并且,可读文件的格式为csv格式,即可读文件的后缀为.csv。csv是一种通用的、相对简单的文件格式。
优选的,所述步骤S3之后包括:
S4、通过fast-csv读取所述可读文件,并将所述可读文件转化为数组文件。
所述步骤S4中,fast-csv是指快速读取csv,即快速读取可读文件,然后将可读文件转化为数组文件。
其中,数组文件是指有序的元素序列,数组文件是用于储存多个相同类型数据的集合。
例如,后台服务器接收的目标文件为:A+B,通过Node.js的fs模块将目标文件A+B转化为:(A+B).csv的可读文件,然后将可读文件(A+B).csv转化为数组文件abcd。
优选的,所述步骤S4之后包括:
S5、遍历得到的数组文件,并在所述数组文件中插入数字和/或对原有数据进行更新,得到更新后的文件。
对得到的数组文件进行遍历,其中,遍历(Traversal),是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。
用户可根据自身的需要,在原有的数组文件中插入一个数字,或者直接修改原有的数组文件,从而得到更新后的数组文件。
例如,原有的数组文件为:ABCD,用户可选择在原有的数组文件中插入一个数字,例如,插入数字后的数组文件为:AB1CD。
用户也可直接修改原有的数组文件,从而得到更新后的数组文件。例如,对数组文件ABCD中的一个数据进行修改,得到修改后的数组文件为:AB1D。当然,用户也可修改数组文件中的多个数据,本发明并不做限定。
此外,用户还可以在插入数字的同时对数组文件进行修改。例如,数组文件为:ABCD,更新后的数组文件为:AB1C2。
这样,用户便可以根据需要,对数组文件进行修改和更新。
优选的,所述步骤S5之后,包括:
S6、当本地文件异常时,从后台服务器中选择相应的目标文件,并将目标文件下载至本地目录,以根据本地文件替换异常的本地文件。
例如,当本地文件A异常时,其对应的目标文件为A+B,那么从后台服务器中的上传目录下载目标文件A+B,并将下载得到的目标文件A+B替换异常的本地文件A。由于B是中间文件,因此在替换过程中,将自动删除中间文件B。
通过本发明提供的方法,不仅能够批量上传表单文件至后台服务器的上传目录中,还能将目标文件转化为数组文件,从而方便对数组文件进行修改。解决了现有技术中无法批量上传表单文件的问题,从而还支持后台服务器直接读取表单文件,并支持修改表单文件。
请参阅图2,本发明还提供一种电子设备10,其包括:
处理器110,适于实现各指令,以及
存储设备120,适于存储多条指令,所述指令适于由处理器加载并执行:
预先为需要上传的文件添加中间文件,得到包含中间文件的目标文件,并配置上传属性信息,所述上传属性信息包括同时上传文件的数量;
根据预定的接口信息将所述目标文件上传至后台服务器。
所述处理器110可以为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RISC Machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器还可以是任何传统处理器、微处理器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核、任何其它这种配置。
存储设备120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的基于Linux系统便捷设置桌面插件的方法对应的程序指令。处理器通过运行存储在存储设备中的非易失性软件程序、指令以及单元,从而执行基于Linux系统便捷设置桌面插件的各种功能应用以及数据处理,即实现上述方法实施例中的基于Linux系统便捷设置桌面插件的方法。
关于上述电子设备10的具体技术细节,已在上述步骤中详述,故此不做赘述。
本发明还提供一种计算机程序产品,其中,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器所述的基于编程语言上传文件至后台服务器的方法。
本发明还提供一种非易失性计算机可读存储介质,其中,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器所述的基于编程语言上传文件至后台服务器的方法。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种基于编程语言上传文件至后台服务器的方法,其特征在于,包括:
A、预先为需要上传的文件添加中间文件,得到包含中间文件的目标文件,并配置上传属性信息,所述上传属性信息包括同时上传文件的数量;
B、根据预定的接口信息将所述目标文件上传至后台服务器。
2.根据权利要求1所述基于编程语言上传文件至后台服务器的方法,其特征在于,所述步骤A包括:
通过koa编程语言为需要上传的文件添加中间文件,所述中间文件为koa框架文件。
3.根据权利要求1所述基于编程语言上传文件至后台服务器的方法,其特征在于,所述上传属性信息包括:上传目录、上传速度的最大值和上传速度的最小值。
4.根据权利要求2所述基于编程语言上传文件至后台服务器的方法,其特征在于,所述步骤B具体包括:
B1、当执行所述接口信息时,自动获取所述koa框架文件;
B2、判断所述koa框架文件对应的目标文件是否为表单文件;
B3、当所述目标文件为表单文件时,则将目标文件上传至后台服务器。
5.根据权利要求1所述基于编程语言上传文件至后台服务器的方法,其特征在于,所述步骤B之后包括:
C、后台服务器接收到目标文件后,通过Node.js的fs模块将目标文件转化为可读文件。
6.根据权利要求5所述基于编程语言上传文件至后台服务器的方法,其特征在于,所述步骤C之后包括:
D、通过fast-csv读取所述可读文件,并将所述可读文件转化为数组文件。
7.根据权利要求6所述基于编程语言上传文件至后台服务器的方法,其特征在于,所述步骤D之后包括:
E、遍历得到的数组文件,并在所述数组文件中插入数字和/或对原有数据进行更新,得到更新后的文件。
8.一种电子设备,其特征在于,包括:
处理器,适于实现各指令,以及
存储设备,适于存储多条指令,所述指令适于由处理器加载并执行:
预先为需要上传的文件添加中间文件,得到包含中间文件的目标文件,并配置上传属性信息,所述上传属性信息包括同时上传文件的数量;
根据预定的接口信息将所述目标文件上传至后台服务器。
9.一种计算机程序产品,其特征在于,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行权利要求1-7任一项所述的基于编程语言上传文件至后台服务器的方法。
10.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行权利要求1-7任一项所述的基于编程语言上传文件至后台服务器的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811133554.3A CN109450970A (zh) | 2018-09-27 | 2018-09-27 | 基于编程语言上传文件至后台服务器的方法、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811133554.3A CN109450970A (zh) | 2018-09-27 | 2018-09-27 | 基于编程语言上传文件至后台服务器的方法、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109450970A true CN109450970A (zh) | 2019-03-08 |
Family
ID=65545534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811133554.3A Withdrawn CN109450970A (zh) | 2018-09-27 | 2018-09-27 | 基于编程语言上传文件至后台服务器的方法、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109450970A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291300A (zh) * | 2020-09-24 | 2021-01-29 | 南阳柯丽尔科技有限公司 | 一种富文本文件的上传方法及装置 |
-
2018
- 2018-09-27 CN CN201811133554.3A patent/CN109450970A/zh not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291300A (zh) * | 2020-09-24 | 2021-01-29 | 南阳柯丽尔科技有限公司 | 一种富文本文件的上传方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108415702B (zh) | 一种移动终端应用界面动态渲染方法和装置 | |
CN110688595B (zh) | 一种文件在线预览方法、装置、设备和存储介质 | |
CN104572085B (zh) | 应用程序的分析方法及装置 | |
CN109388766A (zh) | 页面加载的方法和装置 | |
CN105204871B (zh) | 一种插件式开发方法和装置 | |
CN108073402A (zh) | 基于Linux系统的kafka集群自动部署方法和装置 | |
US20170270157A1 (en) | TCP/IP Network Automation and Orchestration Tools | |
CN107870771A (zh) | 应用程序构建与升级方法及系统 | |
US11487595B2 (en) | API adapter creation device, API adapter creation method, and API adapter creation program | |
CN110347946A (zh) | 一种页面展示方法、装置、计算机设备及存储介质 | |
CN109525632A (zh) | 网关数据上传数据库连接数控制方法、装置、设备及介质 | |
CN102497436B (zh) | 一种基于http协议的网络文件存储方法及系统 | |
CN109450970A (zh) | 基于编程语言上传文件至后台服务器的方法、电子设备 | |
CN106033335A (zh) | 一种生成安装包的方法及装置 | |
CN102968347B (zh) | 浏览器便签实时同步的方法及实现便签实时同步的浏览器 | |
CN111176706A (zh) | 终端升级方法、装置、电子设备及存储介质 | |
WO2017045345A1 (zh) | 一种资源管理方法、装置及多模软基站统一网管 | |
CN113918129A (zh) | 前后端分离的接口请求处理方法和装置 | |
CN110442343A (zh) | 一种页面转换方法及页面转换装置 | |
EP2538330A1 (en) | A method of rendering a scene file in a cloud-based render farm | |
CN113268232B (zh) | 一种页面皮肤生成方法、装置和计算机可读存储介质 | |
CN110597513B (zh) | Web界面生成方法及相关装置 | |
CN109871560B (zh) | 一种运行目标模型的方法和装置 | |
CN111338685A (zh) | 一种公用组件配置方法、装置、设备和存储介质 | |
CN107122463B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190308 |
|
WW01 | Invention patent application withdrawn after publication |