整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          C#.NET 超大文件上傳和斷點續傳的實現

          #.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 + 傳統 webapp

          一個基于 SpringBoot 的 web 應用,工程最初選擇的前端技術是 html 和 jsp 所以有 webapp 目錄,且指定了 web.xml 文件:


          webapps 目錄下有默認首頁 index.html

          SpringBoot+ Vue 新組合

          前端使用 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.htmlindex.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文件

          相關參考:

          文件保存位置


          主站蜘蛛池模板: 久久精品国产AV一区二区三区| 红杏亚洲影院一区二区三区| 亚洲一区二区三区在线视频| 伊人色综合一区二区三区影院视频 | 成人精品视频一区二区三区不卡| 91午夜精品亚洲一区二区三区| 国产一区二区四区在线观看| 精品3d动漫视频一区在线观看| 一本一道波多野结衣AV一区| 国偷自产av一区二区三区| 免费视频精品一区二区| 国模精品一区二区三区视频| 国产精品一区二区毛卡片| 日本一区二区三区爆乳| 日韩毛片基地一区二区三区| 无码人妻一区二区三区免费n鬼沢 无码人妻一区二区三区免费看 | 国产一区二区三区不卡在线观看| 亚洲sm另类一区二区三区| 中文字幕乱码一区久久麻豆樱花| 国产美女在线一区二区三区| 97久久精品无码一区二区天美 | 日本一区二区在线不卡| 一区二区三区精品高清视频免费在线播放| 中文精品一区二区三区四区| 国产自产对白一区| 麻豆va一区二区三区久久浪| 国产在线观看一区二区三区| 激情爆乳一区二区三区| 亚洲视频一区二区| 一本大道东京热无码一区| 亚洲av鲁丝一区二区三区| 97人妻无码一区二区精品免费| 欲色aV无码一区二区人妻| 性盈盈影院免费视频观看在线一区| 国产一区二区三区播放心情潘金莲 | 国产精品视频一区麻豆| 国产精品亚洲专区一区| 成人国产精品一区二区网站| 亚洲啪啪综合AV一区| 国产精品夜色一区二区三区| 在线电影一区二区|