CN113645199A - 基于Java技术实现大文件上传的方法及系统 - Google Patents
基于Java技术实现大文件上传的方法及系统 Download PDFInfo
- Publication number
- CN113645199A CN113645199A CN202110841915.5A CN202110841915A CN113645199A CN 113645199 A CN113645199 A CN 113645199A CN 202110841915 A CN202110841915 A CN 202110841915A CN 113645199 A CN113645199 A CN 113645199A
- Authority
- CN
- China
- Prior art keywords
- file
- uploading
- uploaded
- java
- slice
- 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
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000008569 process Effects 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 4
- 239000012634 fragment Substances 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开基于Java技术实现大文件上传的方法及系统,涉及文件传输技术领域;加密上传的大文件,其中加密大文件形成文件唯一的标识,用于Java后台进行文件完整性校验,切片处理大文件,并通过请求后台接口判断所述的大文件是否存在已上传的文件块,跳过已上传的文件块,按片进行POST上传,合并每个文件切片,完成大文件上传。
Description
技术领域
本发明公开方法及系统,涉及文件传输技术领域,具体地说是基于Java技术实现大文件上传的方法及系统。
背景技术
目前,在某些业务中,大文件上传是非常重要的交互场景,但在网页内上传体积庞大的文件通过接口数据请求的方式实现有很大的困难,并且如果文件体积比较大,或者网络条件不好,上传的时间则会更长,丢包重传的概率也相应更大,而且用户不能刷新页面,严重影响用户体验。
发明内容
本发明针对现有技术的问题,提供基于Java技术实现大文件上传的方法及系统,适用于网页内上传体积很大文件并在后端java环境进行处理保存,旨在为前端系统提供一种更快速的文件上传方法。
本发明提出的具体方案是:
基于Java技术实现大文件上传的方法,加密上传的大文件,其中加密大文件形成文件唯一的标识,用于Java后台进行文件完整性校验,
切片处理大文件,并通过请求后台接口判断所述的大文件是否存在已上传的文件块,跳过已上传的文件块,按片进行POST上传,合并每个文件切片,完成大文件上传。
进一步,所述的基于Java技术实现大文件上传的方法中切片处理大文件前,查询大文件是否已上传。
进一步,所述的基于Java技术实现大文件上传的方法中利用MD5加密上传的大文件。
进一步,所述的基于Java技术实现大文件上传的方法中所述利用MD5加密大文件形成文件唯一的标识,通过MD5查询大文件是否已上传。
进一步,所述的基于Java技术实现大文件上传的方法中根据大文件体积级别,定义切片大小,切片大文件。
进一步,所述的基于Java技术实现大文件上传的方法中切片大文件,并对每个切片进行编号,循环比对每个切片与已上传的文件块清单,对未上传的切片进行上传。
基于Java技术实现大文件上传的系统,包括加密模块、切片模块、判断模块及上传模块,
加密模块加密上传的大文件,其中加密大文件形成文件唯一的标识,用于Java后台进行文件完整性校验,
切片模块切片处理大文件,并判断模块通过请求后台接口判断所述的大文件是否存在已上传的文件块,上传模块跳过已上传的文件块,按片进行POST上传,合并每个文件切片,完成大文件上传。
基于Java技术实现大文件上传的装置,至少包括一个存储器和至少一个处理器,所述的存储器存储机器可读程序,所述的处理器用于调用所述的机器可读程序执行所述的基于Java技术实现大文件上传的方法。
本发明的有益之处是:
本发明提供基于Java技术实现大文件上传的方法,通过后台和应用程序的协作,将上传大文件的操作变得简单,高效。应用程序和后台各自负责业务逻辑,实现断点续传的功能,减少了用户等待的时间,防止用户多次重复上传相同内容,节省了用户的流量和时间成本,让应用程序变得更省流量,系统更流畅。
附图说明
图1是本发明方法流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
本发明提供基于Java技术实现大文件上传的方法,加密上传的大文件,其中加密大文件形成文件唯一的标识,用于Java后台进行文件完整性校验,
切片处理大文件,并通过请求后台接口判断所述的大文件是否存在已上传的文件块,跳过已上传的文件块,按片进行POST上传,合并每个文件切片,完成大文件上传。
利用本发明方法,通过后台和应用程序的协作,将上传大文件的操作变得简单,高效。应用程序和后台各自负责业务逻辑,实现断点续传的功能,减少了用户等待的时间,防止用户多次重复上传相同内容,节省了用户的流量和时间成本,让应用程序变得更省流量,系统更流畅。
具体应用中,在本发明的一些实施例中,针对一般服务器文件上传限制,利用本方法实现轻松上传大文件。具体过程为:
S1:先对大文件进行MD5的加密,可以对文件形成唯一的标识,为秒传做准备,也可以为Java后台后续进行文件完整性的校验做准备。
S2:利用MD5值查询大文件是否存在,若文件已经上传过了,就不用再次重复上传,若文件没有上传,则进入S3。
S3:对文件进行切片处理,假如大文件是500M,一个切片大小可以定义为5M,那么整个大文件就为分为100次上传。
S4:向Java后台请求一个接口,通过接口,获取关于该文件已经上传过的文件块的数据,一个文件传到一半,由于各种原因,不想再传了,那么再次上传的时候,服务器应该保留之前上传过的文件块,跳过这些已经上传过的块,再次上传其他文件块。单独发一次请求,获取相关的文件块信息效率最高。
S5:跳过这些已经上传过的块,开始对未上传过的块进行POST上传。
S6:当上传成功后,通知Java后台进行每个分片文件的合并,至此,上传完成。
在上述实施的基础上,S3中可以对分片文件进行编号,比如序号0-n,服务器存储的文件形式也可以是MD5作为文件夹名,0-n为文件名,S4中循环比对每个切片与已上传的文件块清单,比如从第一个文件块开始与每个分片文件比对,发现分片文件均不是文件块1,则上传的切片1对应的文件,以此循环至比对完成,未在清单上的分片文件均进行上传。
同时本发明还提供基于Java技术实现大文件上传的系统,包括加密模块、切片模块、判断模块及上传模块,
加密模块加密上传的大文件,其中加密大文件形成文件唯一的标识,用于Java后台进行文件完整性校验,
切片模块切片处理大文件,并判断模块通过请求后台接口判断所述的大文件是否存在已上传的文件块,上传模块跳过已上传的文件块,按片进行POST上传,合并每个文件切片,完成大文件上传。
上述系统中各模块的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
同样地,本发明系统可以通过后台和应用程序的协作,将上传大文件的操作变得简单,高效。应用程序和后台各自负责业务逻辑,实现断点续传的功能,减少了用户等待的时间,防止用户多次重复上传相同内容,节省了用户的流量和时间成本,让应用程序变得更省流量,系统更流畅。
以及本发明提供基于Java技术实现大文件上传的装置,至少包括一个存储器和至少一个处理器,所述的存储器存储机器可读程序,所述的处理器用于调用所述的机器可读程序执行所述的基于Java技术实现大文件上传的方法。
上述装置中处理器的信息交互、执行可读程序过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
同样地,本发明装置可以通过后台和应用程序的协作,将上传大文件的操作变得简单,高效。应用程序和后台各自负责业务逻辑,实现断点续传的功能,减少了用户等待的时间,防止用户多次重复上传相同内容,节省了用户的流量和时间成本,让应用程序变得更省流量,系统更流畅。
需要说明的是,上述较佳实施例中各流程和各系统结构中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者可以由多个独立设备中的某些部件共同实现。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (8)
1.基于Java技术实现大文件上传的方法,其特征是加密上传的大文件,其中加密大文件形成文件唯一的标识,用于Java后台进行文件完整性校验,
切片处理大文件,并通过请求后台接口判断所述的大文件是否存在已上传的文件块,跳过已上传的文件块,按片进行POST上传,合并每个文件切片,完成大文件上传。
2.根据权利要求1所述的基于Java技术实现大文件上传的方法,其特征是切片处理大文件前,查询大文件是否已上传。
3.根据权利要求1所述的基于Java技术实现大文件上传的方法,其特征是利用MD5加密上传的大文件。
4.根据权利要求3所述的基于Java技术实现大文件上传的方法,其特征是所述利用MD5加密大文件形成文件唯一的标识,通过MD5查询大文件是否已上传。
5.根据权利要求1-4任一项所述的基于Java技术实现大文件上传的方法,其特征是根据大文件体积级别,定义切片大小,切片大文件。
6.根据权利要求4所述的基于Java技术实现大文件上传的方法,其特征是切片大文件,并对每个切片进行编号,循环比对每个切片与已上传的文件块清单,对未上传的切片进行上传。
7.基于Java技术实现大文件上传的系统,其特征是包括加密模块、切片模块、判断模块及上传模块,
加密模块加密上传的大文件,其中加密大文件形成文件唯一的标识,用于Java后台进行文件完整性校验,
切片模块切片处理大文件,并判断模块通过请求后台接口判断所述的大文件是否存在已上传的文件块,上传模块跳过已上传的文件块,按片进行POST上传,合并每个文件切片,完成大文件上传。
8.基于Java技术实现大文件上传的装置,其特征是至少包括一个存储器和至少一个处理器,所述的存储器存储机器可读程序,所述的处理器用于调用所述的机器可读程序执行如权利要求1-6中任一项所述的基于Java技术实现大文件上传的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110841915.5A CN113645199A (zh) | 2021-07-26 | 2021-07-26 | 基于Java技术实现大文件上传的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110841915.5A CN113645199A (zh) | 2021-07-26 | 2021-07-26 | 基于Java技术实现大文件上传的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113645199A true CN113645199A (zh) | 2021-11-12 |
Family
ID=78418411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110841915.5A Pending CN113645199A (zh) | 2021-07-26 | 2021-07-26 | 基于Java技术实现大文件上传的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113645199A (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111355793A (zh) * | 2020-02-26 | 2020-06-30 | 山东爱城市网信息技术有限公司 | 一种基于HTML5和Python的大文件上传方法 |
-
2021
- 2021-07-26 CN CN202110841915.5A patent/CN113645199A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111355793A (zh) * | 2020-02-26 | 2020-06-30 | 山东爱城市网信息技术有限公司 | 一种基于HTML5和Python的大文件上传方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109714330B (zh) | 一种跨网络的断点续传方法和系统 | |
CN111885133B (zh) | 基于区块链的数据处理方法、装置及计算机存储介质 | |
CN111447102B (zh) | Sdn网络设备访问方法、装置、计算机设备及存储介质 | |
CN102710759A (zh) | Web服务器、业务登录方法及系统 | |
US20200213331A1 (en) | Data service system | |
CN110661829B (zh) | 文件下载方法及装置、客户端和计算机可读存储介质 | |
WO2017215646A1 (zh) | 数据传输方法和装置 | |
CN110995513A (zh) | 物联网系统中的数据发送、接收方法、物联网设备及平台 | |
US10708378B2 (en) | Data processing method and apparatus, server, and controller | |
CN111813573B (zh) | 管理平台与机器人软件的通信方法及其相关设备 | |
CN108243146B (zh) | 一种信息提交方法 | |
CN111935227A (zh) | 通过浏览器上传文件的方法、浏览器和电子设备 | |
CN109379764B (zh) | 报文发送方法及装置 | |
CN110831039A (zh) | 多路并发系统中的数据传输方法及传输服务器 | |
CN107241417A (zh) | 一种文件传输的方法、系统、发送端及接收端 | |
CN113645199A (zh) | 基于Java技术实现大文件上传的方法及系统 | |
WO2020063204A1 (zh) | 一种信令传输的方法、设备及计算机存储介质 | |
CN112667586B (zh) | 一种基于流处理的数据同步的方法、系统、设备及介质 | |
JP2011510572A (ja) | フィンガープリント技術の実現方法、装置、及びシステム | |
CN114157716B (zh) | 基于区块链的数据处理方法、装置和电子设备 | |
CN107210996B (zh) | 一种业务链管理方法及装置 | |
CN115378855A (zh) | 一种数据包的测试方法、装置和通信装置及存储介质 | |
CN102946449A (zh) | Url 的匹配方法、装置及网关 | |
US10038604B2 (en) | Processing method and apparatus for signaling tracing | |
CN112291350A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211112 |