|
眾所皆知,web上傳大文件,一直是一個(gè)痛。上傳文件大小限制,頁(yè)面響應(yīng)時(shí)間超時(shí).這些都是web開(kāi)發(fā)所必須直面的。 本文給出的解決方案是:前端實(shí)現(xiàn)數(shù)據(jù)流分片長(zhǎng)傳,后面接收完畢后合并文件的思路。 實(shí)現(xiàn)文件夾上傳,要求:服務(wù)端保留層級(jí)結(jié)構(gòu),支持10w級(jí)別的文件夾上傳。 大文件上傳及斷點(diǎn)續(xù)傳,要求:支持50G級(jí)的單個(gè)文件上傳和續(xù)傳。續(xù)傳要求:在刷新瀏覽器后能夠續(xù)傳上傳,在重啟瀏覽器后能夠繼續(xù)上傳上(關(guān)閉瀏覽器后重新打開(kāi)),在重啟電腦后能夠繼續(xù)上傳。 支持PC端全平臺(tái),Windows,Mac,Linux 瀏覽器要求支持全部瀏覽器,包括ie6,ie7,ie8,ie9,Chrome,Firefox 下面貼出簡(jiǎn)易DEMO源碼分享: 前端頁(yè)面:
后端代碼,此Demo是基于MVC架構(gòu)的: 后端代碼我進(jìn)行了模塊劃化,而不是網(wǎng)上的將所有的模塊放在一個(gè)類(lèi)中,這樣對(duì)于以后的維護(hù)和升級(jí)來(lái)說(shuō)都是一個(gè)災(zāi)難。 文件塊處理邏輯
文件塊保存邏輯如下
web.xml配置如下
整個(gè)項(xiàng)目的截圖
依賴的JAR包如下
運(yùn)行效果如下:
在此分享!希望多多指正~ 后端代碼邏輯大部分是相同的,目前能夠支持MySQL,Oracle,SQL。在使用前需要配置一下數(shù)據(jù)庫(kù),可以參考我寫(xiě)的這篇文章:http://blog./wordpress/2019/08/07/java超大文件上傳與下載/ 來(lái)源:https://www./content-4-608651.html |
|
|
來(lái)自: 印度阿三17 > 《開(kāi)發(fā)》