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