#.NET 超大文件上傳和斷點續傳的實現,SpringMVC批量大文件上傳下載,SpringCloud批量大文件上傳下載,SpringBoot批量大文件上傳下載,jsp批量大文件上傳下載,java批量大文件上傳下載,vue批量大文件上傳下載,input file批量大文件上傳下載,dom批量大文件上傳下載,html5批量大文件上傳下載,php批量大文件上傳下載,百度webuploader批量大文件上傳下載,webuploader批量大文件上傳下載,前端批量大文件上傳下載,web批量大文件上傳下載,.NET 批量大文件上傳下載解決方案,.NET mvc批量大文件上傳下載,.NET core批量大文件上傳下載,c#.NET 批量大文件上傳下載,asp.NET 批量大文件上傳下載,.NET 批量大文件上傳下載,
后端用了asp.net,c#.net,csharp,.net core,.net mvc??蛻粜枨笫切枰谇岸?,WEB頁面中實現文件夾的上傳和下載功能,前端用了WebForm,vue2,vue3,html5,客戶是政府單位,經常要傳文件夾。
網上搜了一圈,幾乎全部都是用HTML5來實現的,找了一些文章看了一下,幾乎全部都只提到了上傳的實現,借助于HTML5的API,也就是chrome提供的一個特殊的API,幾乎全部都沒提到下載,下載基本上的方案也都是打包,但是我們這邊的情況有點特殊,用戶傳的文件夾也不小,一般都有幾百幾千個文件吧,文件有大有小,有的是1G,有的是10G,這樣的話,文件夾一共就有50G左右了
在服務器上打包的話,首先慢,其實占服務器資源,主要是占存儲空間,而且垃圾清理機制做的不好的話,服務器硬盤空間很快就滿了。
然后就是用戶下載的體驗不是特別好,下載的話,一次性下載不完,需要支持斷點續傳,用戶下載一部分后要下班了,明天需要繼續下載。這些都是痛點,HTML5和chrome提供的這個特殊的API還是不太能夠滿足用戶的需求。還是需要進行定制開發。
研發部門的同事用Windows,macOS這兩個終端操作系統多一些,后端運維同事用linux系統多一些,主要也就是centos和ubuntu,客戶那邊的話,我們主要是針對國企和政府,所以信創國產化的終端系統多一些,比如龍芯,中標麒麟,華為鯤鵬,銀河麒麟,統信UOS都有。這些都要兼容。
主要的一點就是技術支持,后續的產品更新和維護服務要做好,領導很重視這一塊,主要是客戶那邊是要求提供這類服務,領導的意思是要求能夠提供產品所有完整源代碼,包含前后端源代碼,控件源代碼,也就是希望能夠自主可控吧,因為有軍工類的客戶,一是有源碼審查的要求,二是有定制開發的要求,需要做針對性的開發,沒有源碼的話自主性就差點,如果是用的百度webuploader就不要投標了,這個是不符合規定的。我們之前也用過這個,穩定性差,可擴展性差,而且也沒有技術支持,不能夠提供技術支持,他是基于flash和html5開發的,不能夠兼容IE,我們有客戶用了IE,我們的系統能夠兼容IE,不可能讓用戶換系統,退一步說,就算是用戶換了系統,如果后面有新需求,它也不能滿足,反正就是個坑。之前也用了,實際使用中發現安全性,穩定性,可擴展性都很差,所以后面還是換了。
最新版本:6.5.40
在線代碼:https://gitee.com/xproer/up6-asp-net/tree/6.5.40/
NOSQL
NOSQL無需任何配置可直接訪問頁面進行測試
SQL
使用IIS
大文件上傳測試推薦使用IIS以獲取更高性能。
使用IIS Express
小文件上傳測試可以使用IIS Express
創建數據庫
配置數據庫連接信息
訪問頁面進行測試
相關參考:
文件保存位置,
源碼工程文檔:https://drive.weixin.qq.com/s?k=ACoAYgezAAw1dWofra
源碼報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwoiul8gl
OEM版報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwuzp4W0a
控件源碼下載:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc
Vue 作為數據驅動的前端框架,目前比較流行,因此我們公司最新的項目開發都選擇 “SpringBoot 后臺 + Vue 前端” 這個技術組合。如果一開始就選擇這個技術組合,完全沒問題。
但是,如果前端技術最初是傳統的 html ,加上 Vue 后,舊的 web.xml 配置的歡迎頁面為 ../index.html ,導致訪問首頁報錯,本文來分析下這個問題。
一個基于 SpringBoot 的 web 應用,工程最初選擇的前端技術是 html 和 jsp 所以有 webapp 目錄,且指定了 web.xml 文件:
webapps 目錄下有默認首頁 index.html
前端使用 Vue ,配置 vue.config.js 中 build 目錄為
module.exports = {
outputDir: './src/main/resources/static',
publicPath: './',
devServer: {
port: 8080, // 端口
},
};
maven 打包時,執行前端打包命令,完成前后臺內容統一打包:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>exec-npm-install</id>
<phase>prepare-package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm</executable>
<arguments>
<argument>install</argument>
</arguments>
<workingDirectory>./</workingDirectory>
</configuration>
</execution>
<execution>
<id>exec-npm-run-build</id>
<phase>prepare-package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm</executable>
<arguments>
<argument>run</argument>
<argument>build</argument>
</arguments>
<workingDirectory>./</workingDirectory>
</configuration>
</execution>
</executions>
使用了 webapp 目錄,同時又有 vue 時,打包生成的 xxx.war 包部署到 Tomcat 后,直接訪問應用,由于 web.xml 中指定了路徑 ../index.html,后臺報錯:
catalina.out 異常:
22-Nov-2020 07:36:52.993 嚴重 [http-nio-8080-exec-5]
org.apache.coyote.http11.Http11Processor.service 錯誤的處理請求
java.lang.IllegalArgumentException:
資源路徑[/../index.html]已規范化為無效的[null]
第一種,static/index.html
刪掉 webapps 目錄下的 index.html 和 web.xml 這兩個文件后,重啟應用,能正常訪問到 static 目錄下的 index.html 頁面:
第二種,如果保留 webapp 下的 index.html 和 web.xml 文件后,SpringBoot 默認的 web.xml 配置文件失效。此時,修改自定義的 web.xml 修正路徑為 index.html 去掉相對路徑后,再次訪問,能正常:
第三種, 編輯 web.xml 配置文件路徑為 ./index.html 效果和 index.html 一樣。這就會走 SpringBoot 默認的靜態文件查找邏輯。
第一點,自定義的 web.xml 會覆蓋掉 SpringBoot 的默認配置。
第二點,web.xml 中指定了相對路徑 ./index.html 或 index.html ,相對查找順序是先 /static ,再是 / ,所以都能成功查到首頁。
第三點,web.xml 中只指定一個 welcome-file 文件 ../index.html 文件,訪問報錯,但是如果再隨便加一行配置,就能走默認查找到 static 的文件。
通過各種配置測試,發現沒有辦法通過自定義的 web.xml 修改 SpringBoot 的應用的首頁,這點也挺讓筆者捉摸不透的!
求:前端用了JSP,VUE2,VUE3,后端用了JSP,SpringBoot,IDE用了Eclipse,MyEclipse,因為新項目和老項目都用了兩種IDE。
客戶是一個政府單位,現要求能夠在網頁上面上傳文件夾,文件夾里面大約有1萬多個文件,有大有小,大的有1G~10G,小的有幾MB,要求支持斷點續傳,支持進度信息離線存儲,用戶可能傳一半沒有傳完,下班了,明天上班后繼續上傳,電腦晚上到點需要關機,支持加密傳輸,支持國密加密算法SM4,要求支持下載,支持非打包方式下載,瀏覽器要求支持包含IE在內的所有瀏覽器,系統環境要求支持信創國產化,比如銀河麒麟,中標麒麟,統信UOS,龍芯,數據庫支持MySQL,Oracle,達夢數據庫,人大金倉,需要提供前端源碼,后端源碼,控件源碼,公司自己的項目,也有自己的產品,后續需要集成使用,提供7*24小時技術支持服務,提供文檔教程,視頻教程,遠程技術指導,1對1技術支持服務,提供手機,微信,QQ,郵箱,企業微信等聯系方式。
導入項目:
導入到Eclipse:http://www.ncmem.com/doc/view.aspx?id=9da9c7c2b91b40b7b09768eeb282e647
導入到IDEA:http://www.ncmem.com/doc/view.aspx?id=9fee385dfc0742448b56679420f22162
springboot統一配置:http://www.ncmem.com/doc/view.aspx?id=7768eec9284b48e3abe08f032f554ea2
下載示例:
https://gitee.com/xproer/up6-jsp-eclipse/tree/6.5.40/
工程
NOSQL
NOSQL示例不需要任何配置,可以直接訪問測試
創建數據表
選擇對應的數據表腳本,這里以SQL為例
修改數據庫連接信息
訪問頁面進行測試
文件存儲路徑
up6/upload/年/月/日/guid/filename
相關問題:
1.javax.servlet.http.HttpServlet錯誤
2.項目無法發布到tomcat
3.md5計算完畢后卡住
4.服務器找不到config.json文件
相關參考:
文件保存位置
*請認真填寫需求信息,我們會在24小時內與您取得聯系。