电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

基于JavaScript實(shí)現(xiàn)大文件上傳后端代碼實(shí)例

瀏覽:54日期:2023-10-18 10:43:46

這里只寫后端的代碼,基本的思想就是,前端將文件分片,然后每次訪問上傳接口的時候,向后端傳入?yún)?shù):當(dāng)前為第幾塊文件,和分片總數(shù)

下面直接貼代碼吧,一些難懂的我大部分都加上注釋了:

上傳文件實(shí)體類:

看得出來,實(shí)體類中已經(jīng)有很多我們需要的功能了,還有實(shí)用的屬性。如MD5秒傳的信息。

基于JavaScript實(shí)現(xiàn)大文件上傳后端代碼實(shí)例

首先是文件數(shù)據(jù)接收邏輯,負(fù)責(zé)接收控件上傳的文件塊數(shù)據(jù),然后寫到服務(wù)器的文件中。控件已經(jīng)提供了塊的索引,大小,MD5和長度信息,我們可以根據(jù)需要來靈活進(jìn)行處理,也可以將文件塊的數(shù)據(jù)保存到分布式存儲系統(tǒng)中。

基于JavaScript實(shí)現(xiàn)大文件上傳后端代碼實(shí)例

文件初始化部分

基于JavaScript實(shí)現(xiàn)大文件上傳后端代碼實(shí)例

第一步:獲取RandomAccessFile,隨機(jī)訪問文件類的對象

第二步:調(diào)用RandomAccessFile的getChannel()方法,打開文件通道 FileChannel,這塊邏輯可以優(yōu)化,如果以后有分布式存儲需求,可以改為分布式存儲,減輕單臺服務(wù)器的壓力。

基于JavaScript實(shí)現(xiàn)大文件上傳后端代碼實(shí)例

第三步:獲取當(dāng)前是第幾個分塊,計(jì)算文件的最后偏移量

第四步:獲取當(dāng)前文件分塊的字節(jié)數(shù)組,用于獲取文件字節(jié)長度

第五步:使用文件通道FileChannel類的 map()方法創(chuàng)建直接字節(jié)緩沖器MappedByteBuffer

第六步:將分塊的字節(jié)數(shù)組放入到當(dāng)前位置的緩沖區(qū)內(nèi)mappedByteBuffer.put(byte[] b);

第七步:釋放緩沖區(qū)

第八步:檢查文件是否全部完成上傳

基于JavaScript實(shí)現(xiàn)大文件上傳后端代碼實(shí)例

文件夾掃描類

基于JavaScript實(shí)現(xiàn)大文件上傳后端代碼實(shí)例

存儲路徑生成類

基于JavaScript實(shí)現(xiàn)大文件上傳后端代碼實(shí)例

好了,到此就全部結(jié)束了,如果有疑問或批評,歡迎評論和私信,我們一起成長一起學(xué)習(xí)。

最后放一張實(shí)現(xiàn)的效果圖

基于JavaScript實(shí)現(xiàn)大文件上傳后端代碼實(shí)例

后端代碼邏輯大部分是相同的,目前能夠支持MySQL,Oracle,SQL。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 安全阀_弹簧式安全阀_美标安全阀_工业冷冻安全阀厂家-中国·阿司米阀门有限公司 | 房间温控器|LonWorks|海思 | 上海佳武自动化科技有限公司 | 防爆正压柜厂家_防爆配电箱_防爆控制箱_防爆空调_-盛通防爆 | 列管冷凝器,刮板蒸发器,外盘管反应釜厂家-无锡曼旺化工设备有限公司 | 电伴热系统施工_仪表电伴热保温箱厂家_沃安电伴热管缆工业技术(济南)有限公司 | 拉伸膜,PE缠绕膜,打包带,封箱胶带,包装膜厂家-东莞宏展包装 | 蓄电池回收,ups电池后备电源回收,铅酸蓄电池回收,机房电源回收-广州益夫铅酸电池回收公司 | 超声波乳化机-超声波分散机|仪-超声波萃取仪-超声波均质机-精浩机械|首页 | 卡诺亚轻高定官网_卧室系统_整家定制_定制家居_高端定制_全屋定制加盟_定制家具加盟_定制衣柜加盟 | 生物制药洁净车间-GMP车间净化工程-食品净化厂房-杭州波涛净化设备工程有限公司 | 步入式高低温测试箱|海向仪器 | 999范文网_优质范文下载写作帮手| 硬度计_影像测量仪_维氏硬度计_佛山市精测计量仪器设备有限公司厂家 | 郑州大巴车出租|中巴车租赁|旅游大巴租车|包车|郑州旅游大巴车租赁有限公司 | 温控器生产厂家-提供温度开关/热保护器定制与批发-惠州市华恺威电子科技有限公司 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 昊宇水工|河北昊宇水工机械工程有限公司 | 哲力实业_专注汽车涂料汽车漆研发生产_汽车漆|修补油漆品牌厂家 长沙一级消防工程公司_智能化弱电_机电安装_亮化工程专业施工承包_湖南公共安全工程有限公司 | 焊锡丝|焊锡条|无铅锡条|无铅锡丝|无铅焊锡线|低温锡膏-深圳市川崎锡业科技有限公司 | 灰板纸、灰底白、硬纸板等纸品生产商-金泊纸业 | 正压密封性测试仪-静态发色仪-导丝头柔软性测试仪-济南恒品机电技术有限公司 | 南汇8424西瓜_南汇玉菇甜瓜-南汇水蜜桃价格 | 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 洗砂机械-球磨制砂机-洗沙制砂机械设备_青州冠诚重工机械有限公司 | 丙烷/液氧/液氮气化器,丙烷/液氧/液氮汽化器-无锡舍勒能源科技有限公司 | 深圳律师咨询_深圳律师事务所_华荣【免费在线法律咨询】网 | 螺旋压榨机-刮泥机-潜水搅拌机-电动泥斗-潜水推流器-南京格林兰环保设备有限公司 | 5L旋转蒸发器-20L-50L旋转蒸发器-上海越众仪器设备有限公司 | 金蝶帐无忧|云代账软件|智能财税软件|会计代账公司专用软件 | 山东聚盛新型材料有限公司-纳米防腐隔热彩铝板和纳米防腐隔热板以及钛锡板、PVDF氟膜板供应商 | 棉服定制/厂家/公司_棉袄订做/价格/费用-北京圣达信棉服 | 全屋整木定制-橱柜,家具定制-四川峨眉山龙马木业有限公司 | 强效碱性清洗剂-实验室中性清洗剂-食品级高纯氮气发生器-上海润榕科学器材有限公司 | 多功能三相相位伏安表-变压器短路阻抗测试仪-上海妙定电气 | 吸污车_吸粪车_抽粪车_电动三轮吸粪车_真空吸污车_高压清洗吸污车-远大汽车制造有限公司 | 福州时代广告制作装饰有限公司-福州广告公司广告牌制作,福州展厅文化墙广告设计, | 七维官网-水性工业漆_轨道交通涂料_钢结构漆| 浙江华锤电器有限公司_地磅称重设备_防作弊地磅_浙江地磅售后维修_无人值守扫码过磅系统_浙江源头地磅厂家_浙江工厂直营地磅 | 双菱电缆-广州电缆厂_广州电缆厂有限公司 | 防堵吹扫装置-防堵风压测量装置-电动操作显示器-兴洲仪器 |