国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

基于JavaScript實現大文件上傳后端代碼實例

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

這里只寫后端的代碼,基本的思想就是,前端將文件分片,然后每次訪問上傳接口的時候,向后端傳入參數:當前為第幾塊文件,和分片總數

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

上傳文件實體類:

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

基于JavaScript實現大文件上傳后端代碼實例

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

基于JavaScript實現大文件上傳后端代碼實例

文件初始化部分

基于JavaScript實現大文件上傳后端代碼實例

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

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

基于JavaScript實現大文件上傳后端代碼實例

第三步:獲取當前是第幾個分塊,計算文件的最后偏移量

第四步:獲取當前文件分塊的字節數組,用于獲取文件字節長度

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

第六步:將分塊的字節數組放入到當前位置的緩沖區內mappedByteBuffer.put(byte[] b);

第七步:釋放緩沖區

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

基于JavaScript實現大文件上傳后端代碼實例

文件夾掃描類

基于JavaScript實現大文件上傳后端代碼實例

存儲路徑生成類

基于JavaScript實現大文件上傳后端代碼實例

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

最后放一張實現的效果圖

基于JavaScript實現大文件上傳后端代碼實例

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 蕲春县| 玉树县| 龙南县| 铜川市| 建瓯市| 双城市| 宁都县| 罗城| 石渠县| 内乡县| 根河市| 乐山市| 乌拉特前旗| 大方县| 普兰店市| 蕉岭县| 新乐市| 萝北县| 天台县| 合山市| 平远县| 宜都市| 大渡口区| 古交市| 肃南| 新宾| 大新县| 松阳县| 沙湾县| 衡阳县| 葫芦岛市| 游戏| 南雄市| 苗栗市| 江安县| 湘阴县| 安宁市| 梅州市| 宜都市| 伊金霍洛旗| 麦盖提县|