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

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

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

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

這里只寫后端的代碼,基本的思想就是,前端將文件分片,然后每次訪問上傳接口的時(shí)候,向后端傳入?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)前是第幾個(gè)分塊,計(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)文章:
主站蜘蛛池模板: 免费网站网址收录网_海企优网站推荐平台 | 北钻固控设备|石油钻采设备-石油固控设备厂家 | 双工位钻铣攻牙机-转换工作台钻攻中心-钻铣攻牙机一体机-浙江利硕自动化设备有限公司 | 不锈钢水箱生产厂家_消防水箱生产厂家-河南联固供水设备有限公司 | 布袋式除尘器|木工除尘器|螺旋输送机|斗式提升机|刮板输送机|除尘器配件-泊头市德佳环保设备 | 油液红外光谱仪-油液监测系统-燃油嗅探仪-上海冉超光电科技有限公司 | 脉冲布袋除尘器_除尘布袋-泊头市净化除尘设备生产厂家 | 新密高铝耐火砖,轻质保温砖价格,浇注料厂家直销-郑州荣盛窑炉耐火材料有限公司 | 神超官网_焊接圆锯片_高速钢锯片_硬质合金锯片_浙江神超锯业制造有限公司 | 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | 内窥镜-工业内窥镜厂家【上海修远仪器仪表有限公司】 | 亚洲工业智能制造领域专业门户网站 - 亚洲自动化与机器人网 | 小程序开发公司-小程序制作-微信小程序开发-小程序定制-咏熠软件 | 杭州荣奥家具有限公司-浙江办公家具,杭州办公家具厂 | 高精度-恒温冷水机-螺杆式冰水机-蒸发冷冷水机-北京蓝海神骏科技有限公司 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 北京森语科技有限公司-模型制作专家-展览展示-沙盘模型设计制作-多媒体模型软硬件开发-三维地理信息交互沙盘 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 对辊式破碎机-对辊制砂机-双辊-双齿辊破碎机-巩义市裕顺机械制造有限公司 | 建筑消防设施检测系统检测箱-电梯**检测仪器箱-北京宇成伟业科技有限责任公司 | 玉米深加工设备-玉米深加工机械-新型玉米工机械生产厂家-河南粮院机械制造有限公司 | 酒店品牌设计-酒店vi设计-酒店标识设计【国际级】VI策划公司 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | atcc网站,sigma试剂价格,肿瘤细胞现货,人结肠癌细胞株购买-南京科佰生物 | 金属回收_废铜废铁回收_边角料回收_废不锈钢回收_废旧电缆线回收-广东益夫金属回收公司 | 学生作文网_中小学生作文大全与写作指导 | 气力输送设备_料封泵_仓泵_散装机_气化板_压力释放阀-河南锐驰机械设备有限公司 | 耐腐蚀泵,耐腐蚀真空泵,玻璃钢真空泵-淄博华舜耐腐蚀真空泵有限公司 | 河南不锈钢水箱_地埋水箱_镀锌板水箱_消防水箱厂家-河南联固供水设备有限公司 | 聚丙烯酰胺_阴离子_阳离子「用量少」巩义亿腾厂家直销,售后无忧 聚合甘油__盐城市飞龙油脂有限公司 | 超声波清洗机_细胞破碎仪_实验室超声仪器_恒温水浴-广东洁盟深那仪器 | 四合院设计_四合院装修_四合院会所设计-四合院古建设计与建造中心1 | 专业的压球机生产线及解决方案厂家-河南腾达机械厂 | 二维运动混料机,加热型混料机,干粉混料机-南京腾阳干燥设备厂 | 数控车床-立式加工中心-多功能机床-小型车床-山东临沂金星机床有限公司 | 日本SMC气缸接头-速度控制阀-日本三菱伺服电机-苏州禾力自动化科技有限公司 | 冰晶石|碱性嫩黄闪蒸干燥机-有机垃圾烘干设备-草酸钙盘式干燥机-常州市宝康干燥 | 拉卡拉POS机官网 - 官方直营POS机办理|在线免费领取 | 生物制药洁净车间-GMP车间净化工程-食品净化厂房-杭州波涛净化设备工程有限公司 | 点焊机-缝焊机-闪光对焊机-电阻焊设备生产厂家-上海骏腾发智能设备有限公司 | 环球周刊网|