整合營銷服務商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          ASP.NET WEB API實現(xiàn)簡單的文件下載與上

          ASP.NET WEB API實現(xiàn)簡單的文件下載與上傳

          SP.NET WEB API實現(xiàn)簡單的文件下載與上傳,ASP.NET大文件分片上傳,C#上傳大型視頻文件到服務器,解決方案,用C# 實現(xiàn)斷點續(xù)傳 (HTTP),ASP.NET實現(xiàn)文件夾的上傳和下載,.NET使用WEBUPLOADER做大文件的分塊和斷點續(xù)傳,ASP.NET實現(xiàn)文件上傳和下載,

          完美解決C#無法上傳大文件方法,ASP.NET大文件(視頻)上傳方案,ASP.NET實現(xiàn)大視頻上傳,ASP.NET上傳超大文件,完美解決ASP.NET無法上傳大文件方法,

          C#.NET支持超大文件HTTP切割上傳,C#.NET支持超大文件HTTP切片上傳,C#.NET支持超大文件HTTP分割上傳,C#.NET支持超大文件HTTP分段上傳,C#.NET支持超大文件HTTP分塊上傳,C#.NET支持超大文件HTTP分片上傳,.NET mvc支持超大文件HTTP斷點續(xù)傳,.NET core支持超大文件HTTP斷點續(xù)傳,

          webform支持超大文件HTTP斷點續(xù)傳,asp.NET支持超大文件HTTP斷點續(xù)傳,C#.NET支持超大文件HTTP斷點續(xù)傳,

          前端用了HTML,VUE2,VUE3,之前在網(wǎng)上也搜過相關的資料,論壇里面也有人交流過,也加過不少Q(mào)Q群微信群,但是都不太令人滿意。很多網(wǎng)友基本上都是學生,提供的回復不能說完全沒有意義吧,只能說一文不值。網(wǎng)上的文章基本上大部分都是重復的,非常的凌亂,有些都是大學生寫的畢業(yè)設計,也有一些提到了開源的方案,但是這些方案真心不咋滴,沒人維護,沒有技術支持,公司和客戶之前都踩過坑。

          離項目需求相差太遠,公司這邊需要的是一個成熟的商業(yè)解決方案,并且需要提供產(chǎn)品完整的源代碼。網(wǎng)上的文章大部分都是在講思路,而且文章的作者也沒有實際的項目經(jīng)驗,不知道從哪里復制的一些代碼就往上面發(fā)。

          客戶那邊是深圳的一家企業(yè),地產(chǎn)行業(yè)的,專門做地產(chǎn)的信息化系統(tǒng)。

          嘗試過HTML5,本地測試倒還行,但是部署在線上客戶那邊的正式環(huán)境就不太行了,差了點意思??偸怯懈鞣N想象不到的問題,比如客戶傳的文件多了,網(wǎng)頁卡。我們本地測試的時候沒有問題,后來發(fā)現(xiàn)是用戶那邊電腦配置低了,但是又不能說讓客戶升級配置,客戶那邊的硬件環(huán)境也就那樣,動不了,感覺HTML5的兼容性還是差了點意思,特別是向下兼容。有些系統(tǒng)還要支持IE,這基本上就涼了。

          asp.net寫后端的話,寫起來是比較舒服一些?;旧弦簿褪且痪湓捀愣?。

          后端用了ASP.NET,.NET Core.NET MVC,IDE用了Visual Studio 2010,Visual Studio 2013,Visual Studio 2022,因為新項目和老項目都用了兩種IDE。

          要求能夠在網(wǎng)頁上面上傳文件夾,文件夾里面大約有1萬多個文件,有大有小,大的有1G~10G,小的有幾MB,

          要求支持斷點續(xù)傳,支持進度信息離線存儲,用戶可能傳一半沒有傳完,下班了,明天上班后繼續(xù)上傳,電腦晚上到點需要關機,支持加密傳輸,支持國密加密算法SM4,

          要求支持下載,支持非打包方式下載,

          瀏覽器要求支持包含IE在內(nèi)的所有瀏覽器,系統(tǒng)環(huán)境要求支持信創(chuàng)國產(chǎn)化,比如銀河麒麟,中標麒麟,統(tǒng)信UOS,龍芯,數(shù)據(jù)庫支持MySQL,Oracle,達夢數(shù)據(jù)庫,人大金倉,

          需要提供前端源碼,后端源碼,控件源碼,公司自己的項目,也有自己的產(chǎn)品,后續(xù)需要集成使用,提供7*24小時技術支持服務,提供文檔教程,視頻教程,遠程技術指導,1對1技術支持服務,提供手機,微信,QQ,郵箱,企業(yè)微信等聯(lián)系方式。

          之前也評估過幾款組件,但是技術支持這塊幾乎都沒有。

          最新版本:6.5.40

          在線代碼:https://gitee.com/xproer/up6-asp-net/tree/6.5.40/


          NOSQL

          NOSQL無需任何配置可直接訪問頁面進行測試

          SQL

          使用IIS

          大文件上傳測試推薦使用IIS以獲取更高性能。

          使用IIS Express

          小文件上傳測試可以使用IIS Express

          創(chuàng)建數(shù)據(jù)庫

          配置數(shù)據(jù)庫連接信息

          訪問頁面進行測試

          相關參考:

          文件保存位置,

          源碼工程文檔: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

          授權碼生成器:https://drive.weixin.qq.com/s?k=ACoAYgezAAwTIcFph1

          能是將一個html 表格變成 Microsoft Excel 格式的最快方法。ContentType 屬性通知
          瀏覽器數(shù)據(jù)要被格式化為何種格式,在這里我們要的格式是Microsoft Excel。當瀏覽器看到這個屬性的值是Excel時,它就提示用戶保存或打開這個文件。如果用戶選擇打開文件,
          就啟動了Excel并在其中觀看數(shù)據(jù)。為使其工作正確,必須在向Response對象寫入任何內(nèi)容之前設置ContentType 。此語法的例子如下:
             Line 1: 〈 %@ LANGUAGE="VBSCRIPT" % 〉
             Line 2: Response.ContentType="application/msexcel"
             Line 3: % 〉
             點擊這里可以得到有關ASP的Response 對象的ContentType屬性的更多信息。
             當我試圖用Internet Explorer 4.x.測試時發(fā)現(xiàn)了一個問題,在Microsoft文章 Q185978曾經(jīng)提到過。 這篇知識庫文章的內(nèi)容可以概括如下:
             “如果Internet Explorer 與一個動態(tài)生成Word、 Excel或其它活動文檔的Web服務器
          資源相連接時,Internet Explorer會為此資源發(fā)出兩個GET 請求。第二個GET 通常沒有ses
          sion 狀態(tài)信息、臨時 cookies或者已經(jīng)為客戶指定的證明信息。這個錯誤可能影響到任何
          寄宿在Internet Explorer 結構窗口內(nèi)的本地服務器(EXE) 的活動文檔應用程序。它在ISAP
          I、 ASP或 CGI 應用程序中發(fā)生最為頻繁,它們校驗HTTP "Content Type" 頭文件以識別所
          安裝的應用程序”。
             因此如果你嘗試使用session 變量或 cookies, 并使用IE4,就有可能遭遇到這個錯
          誤。經(jīng)證實,在IE5中這個問題已經(jīng)得到解決。
             一個用逗號分隔開的值文件是將web頁面輸出到Excel可讀格式的第二種選擇。這種格
          式比ContentType 屬性有更大的靈活性。相對于其它方法,CSV還有兩個優(yōu)勢:首先,不需
          要任何客戶機或服務器上的 軟件去創(chuàng)建它,第二,文件通常要比一個Excel 文件小。
             CSV格式的定義如下:逗號分隔列,回車分隔行。逗號作為分隔符, 也會與包含逗號
          的 域(如,234)引發(fā)一個問題; 這會在將要創(chuàng)建的行中導致一個額外的列。這個問題也
          很容易矯正, 方法是在每個結尾處用逗號將域封閉起來。
             在提供的例子中把 CreateCSVFile()函數(shù)過一遍,就能了解CSV文件是如何創(chuàng)建的。
             Line 1: strFile=GenFileName()
             Line 2: Set fs=CreateObject("Scripting.FileSystemObject")
             Line 3: Set a=fs.CreateTextFile(server.MapPath(".") & "" & strFile &
          Line 4: ".csv",True)
             Line 5: If Not oRS.EOF Then
             Line 6: strtext=chr(34) & "Year" & chr(34) & ","
             Line 7: strtext=strtext & chr(34) & "Region" & chr(34) & ","
             Line 8: strtext=strtext & chr(34) & "Sales" & chr(34) & ","
             Line 9: a.WriteLine(strtext)
             Line 10: Do Until oRS.EOF
             Line 11: For i=0 To oRS.fields.Count-1
             Line 12: strtext=chr(34) & oRS.fields(i) & chr(34) Line 13: & ","
             Line 14: a.Write(strtext)
             Line 15: Next
             Line 16: a.Writeline()
             Line 17: oRS.MoveNext
             Line 18: Loop
             Line 19: End If
             Line 20: a.Close
             Line 21: Set fs=Nothing
            Line 22:Response.Write("Click〈 A HREF=" & strFile & ".csv 〉Here〈 /A 〉
             Line 23: to get CSV file")
             第一行調(diào)用GenFileName() 函數(shù)創(chuàng)建一個唯一的文件名,有關GenFileName() 函數(shù)將
          在稍后討論。
             第2行到第4行,用FileSystemObject 對象和CreateTextFile函數(shù)將要寫入的文本文
          件。在這個例子中, 所寫入的文件與源文件在同一個路徑下,在實際工作中,你也許想要
          創(chuàng)建一個單獨的路徑存儲這些文件。
             第5-9行產(chǎn)生第一行的標題。因為報告通常都是相同的,我就把列名的代碼固定下來,
          雖然也有可能讀 數(shù)據(jù)庫的列名并使用它們。注意我在各個域中是如何包含逗號的。使用Wri
          teLine 函數(shù)將它們與一個回 車一起發(fā)送到文件中。
             第10行到18行在記錄集中循環(huán),用引號給每個域做出標志,后面跟著一個逗號。然后W
          rite函數(shù)將每個 域發(fā)送到文件。WriteLine 用回車結束每一行。
             最后幾行關閉文件、釋放對象、在頁面上放置一個鏈接以便能夠找回它。
             當你點擊生成的鏈接時,就會被提示保存或打開。如果選擇打開,文件就在Excel 中
          打開(假設計算機 上已經(jīng)安裝)。如果選擇了保存,就將這個文本文件保存到存儲設備上
          并將它輸入各個應用程序中。
             我所討論的最后一種方法是用Microsoft Excel 對象創(chuàng)建一個實際的Excel(.xls ) 文
          件。要使用這些對象要求在Web 服務器上安裝Excel。使用這些控制可以對格式化有更多的
          控制(如字體、顏色等), 并允許你進行一切在真正的Excel 應用程序中可以進行的操
          作。一定要監(jiān)視你的服務器的性能,因為 Excel 可能成為一個相當大的對象并對性能造成
          沖擊,這取決于你如何使用它以及服務器有多忙。
             我發(fā)現(xiàn)在Excel 對象上得到更多信息的最快最簡便的方法是使用Visual Basic對象瀏
          覽器,觀看對象 并使用上下文敏感幫助來得到更多細節(jié)。使用這個對象瀏覽器時:啟動Vis
          ual Basic, 創(chuàng)建一個工程文件, 增加一個對Microsoft Excel對象庫的引用。在 View 菜
          單下,可以選擇一個對象瀏覽器然后指定Excel 庫,看到所有可用的對象。按 F1可得到當
          前標題的上下文敏感幫助。
             在所提供的樣本中把CreateXlsFile() 函數(shù)過一遍,就可以看到如何創(chuàng)建一個Excel文
          件。 基本步驟與 創(chuàng)建 CSV文件的基本相同,只是所創(chuàng)建的是一個Excel工作表。
          Line 1: Dim xlWorkSheet
          Line 2: Dim xlApplication
          Line 3: Set xlApplication=Server.CreateObject("Excel.Application")
          Line 4: xApplication.Visible=False
          Line 5: xlApplication.Workbooks.Add
          Line 6: Set xlWorksheet=xlApplication.Worksheets(1)
          Line 7: xlWorksheet.Cells(1,1).Value="Year"
          Line 8: xlWorksheet.Cells(1,1).Interior.ColorIndex=5
          Line 9: xlWorksheet.Cells(1,2).Value="Region"
          Line 10: xlWorksheet.Cells(1,2).Interior.ColorIndex=5
          Line 11: xlWorksheet.Cells(1,3).Value="Sales"
          Line 12: xlWorksheet.Cells(1,3).Interior.ColorIndex=5
          Line 13: iRow=2
          Line 14: If Not oRS.EOF Then
          Line 15: Do Until oRS.EOF
          Line 16: For i=0 To oRS.fields.Count-1
          Line 17: xlWorksheet.Cells(iRow,i + 1).Value=oRS.fields(i)
          Line 18: xlWorkSheet.Cells(iRow,i + 1).Interior.ColorIndex=4
          Line 19: Next
          Line 20: iRow=iRow + 1
          Line 21: oRS.MoveNext
          Line 22: Loop
          Line 23: End If
          Line 24: strFile=GenFileName()
          Line 25: xlWorksheet.SaveAs Server.MapPath(".") & "" & strFile & ".xls"
          Line 26: xlApplication.Quit ' Close the Workbook
          Line 27: Set xlWorksheet=Nothing
          Line 28: Set xlApplication=Nothing
          Line 29: Response.Write("Click 〈 A HRef=" & strFile & ".xls 〉Here〈 /A 〉
          to Line 30: get XLS file")
             第1行和第2行,確定所使用的 Excel對象的維數(shù)。
             第3行,創(chuàng)建Excel對象。同樣,為了工作正確,web服務器上也必須有Excel。
             第4行,將Excel的可見性設置為false,這樣它就沒有界面了。
             第5行和第6行,增加一個容納工作表的工作簿,然后將當前工作表設置成第一個工作
          表(這是Excel 在默認狀態(tài)下創(chuàng)建的)。 還可以用 Worksheet對象的Add 函數(shù)增加一個新的
          工作表, 這就允許你的 Excel 文件中有多個工作表。
             第8-12行,創(chuàng)建工作表的標題。在這個例子中,我們把每個單元的值都設置成適當?shù)?br>標題,而且把內(nèi)部 顏色設置成蘭色。你還可以用Range對象同時修改多個單元。
             第13-23行,提供從記錄集裝載所有數(shù)據(jù)的循環(huán)。因為第一行中包含標題,我就在電子
          數(shù)據(jù)表的 第二行開始數(shù)據(jù)。里面的 For循環(huán)把每一列裝載到行中,并把內(nèi)部顏色設置為綠
          色。外部循環(huán)則為 每一行在記錄集中進行循環(huán)。
             第24行, 通過調(diào)用GenFileName()函數(shù),與CSV用同樣的函數(shù)來創(chuàng)建唯一的文件名。
             第25行,進行電子表格的實際保存??梢詫⒈砀翊鎯?Excel中指定的多種格式。
             下面的3行進行對象的整理。作為一個好的ASP程序員,就一定要整理所有的對象。
             最后,我把到 Excel文件的鏈接放在頁面上以便下載。
             我創(chuàng)建了一個樣本,對以上討論過的每個技巧進行示范。要安裝樣本,只需要把所有
          的文件復制到服務器上,用 main.html 啟動應用程序。在服務器上需要有 Excel以使用"Na
          tive Excel" 選項。 樣本使用一個Access數(shù)據(jù)庫 (無DSN鏈接)來存儲銷售數(shù)據(jù)。
             你可以選擇一年或一個地區(qū)進行銷售報告。最后的選項是你希望如何返回數(shù)據(jù)??梢?br>看到以下的屏幕映象:
          <p align="center">
             下面的表格中是對樣本中提供的所有文件的描述。
          文件名 描述
          DSN-SQL.asp 包含無DSN鏈接字符串
          adovbs.inc 包含ADO常量
          TestDB.mdb 包含銷售數(shù)據(jù)的一個Access97數(shù)據(jù)庫。包含的銷售表格有3個域:year--Tex
          t, region--Text,sales-amt--numeric
          main.html 本文件創(chuàng)建畫面的框架并裝載初始頁
          welcome.html 本文件只在第一次創(chuàng)建結果通常所在的畫面框架時使用
          request.html 包含一個表單,用來收集用戶的選擇來建立報告
          runquery.asp 應用程序的內(nèi)臟。本文件建立SQL聲明、確定客戶機如何請求將被返回的數(shù)
          據(jù)、執(zhí)行SQL并按照請求返回數(shù)據(jù)
             大部分代碼都相當容易理解。但是我還是要討論runquery.asp 文件中的一些函數(shù)。我
          已經(jīng)演示過如何創(chuàng)建CSV和Excel 文件。
             GenHTML()函數(shù)建立一個被請求數(shù)據(jù)的HTML表格。這個函數(shù)既用來作為HTML返回也用于
          ContentType請求。為了 ContentType請求工作,你要注意 Response.ContentType="appl
          ication/msexcel" 是將要執(zhí)行的最初幾行之一。
             GenFileName()函數(shù)使用系統(tǒng)日期建立文件名的第一部分。這個文件名將是唯一的,這
          樣當你試圖存儲 文件時就可以避免許多麻煩。擴展名( CSV或XLS )在存儲文件時應用,這
          樣就允許同一個函數(shù)產(chǎn)生兩種類型的文件。
             BuildSQL()函數(shù)使用表單變量來建立一個SQL聲明,與用戶的請求相匹配,并將其返回
          調(diào)用者。
             Recordset在腳本的最頂部被打開,因為它對于所選擇的顯示類型是獨立的。recordse
          t處理從BuildSQL()函數(shù)調(diào)用生成的SQL聲明,使用一個到Access 97的無DSN鏈接。
             〈 BODY 〉標記中包含的代碼僅僅是兩個 "if….then" 聲明,確定用戶所要求的顯示
          方法。 if聲明分流到生成正確返回類型的函數(shù),該返回類型是基于用戶的"ReturnAS" 選
          擇。接著清除鏈接和記錄集對象。
             注意: 這個樣本沒有涉及到用戶下載web服務器上創(chuàng)建的文件之后,對這些文件的維護
          問題。我建議 這種維護要基于一段時間,時間到期后就刪除這些文件。 我不主張把移走這
          些文件的負擔轉(zhuǎn)嫁到客戶身上(通過頁面上的鏈接),因為他們很容易忘記這些事情。


             結論
             本文演示了將數(shù)據(jù)輸出到一個Excel可讀格式的三種方法。 我相信根據(jù)用戶的不同需
          要,這三種方法都有其可用之地。如果你愿意快速但不漂亮地輸出到Excel,就用ContentTy
          pe好了。如果你想要一個格式有限但能夠裝載到許多不同應用程序中的文件,那么CSV格式
          適合你。如果你更喜歡包含完整格式、圖標或特殊Excel功能,那么創(chuàng)建一個完全的Excel電
          子表格是適合的途徑。 但愿這些方法能幫助其他程序員滿足客戶的要求或者至少幫助你選
          擇正確的途徑。

          備條件1:IIS能夠成功訪問,界面如下:本機在localhost:80測試成功

          必備條件2:vsnet ,本人使用vs2012,其他更高版本也行。

          新建項目對話框中:

          • 打開 Visual C# ,可能在其他語言中
          • 選取模板 ASP.NET MVC 3 Web 應用程序
          • 把項目名稱設置為 MvcApplication
          • 設置磁盤位置,比如 d:\vsnet_work\aspx_mvc
          • 點擊確定

          當新項目對話框打開時:

          • 選擇 Internet Application 模板,
          • 選擇 Razor 引擎
          • 選擇 HTML5 標記
          • 點擊確定

          先修改一下:

           ViewBag.Message="歡迎使用 ASP.NET MVC! 我是探索3000";

          然后點擊上方的啟動在google chrome中,一個最簡單的mvc網(wǎng)站就自動呈現(xiàn)出來。

          這個最簡單的網(wǎng)站模板,成功運行在http://localhost:54678/中。

          如果想查看下生成的網(wǎng)頁代碼,會看到如下內(nèi)容:


          主站蜘蛛池模板: 国产精品久久久久久一区二区三区| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 国产精品538一区二区在线| 国产SUV精品一区二区88L| 精品无码人妻一区二区三区| 亚洲一区日韩高清中文字幕亚洲 | 亚洲一区二区成人| 亚洲国产成人久久一区WWW| 3D动漫精品一区二区三区| 久久亚洲AV午夜福利精品一区| 一区二区三区无码高清| 在线|一区二区三区| 一区二区三区亚洲| 国产精品日本一区二区不卡视频| 立川理惠在线播放一区| 影院成人区精品一区二区婷婷丽春院影视| 亚洲国产精品一区二区久久| 日韩人妻无码一区二区三区| av无码精品一区二区三区四区| 精品国产一区二区三区久久影院| 国产精品香蕉一区二区三区| 精品无码人妻一区二区三区品 | 国产精品电影一区二区三区| 亚洲欧洲专线一区| 天天综合色一区二区三区| 欧美日本精品一区二区三区 | 中文字幕不卡一区| 国产伦精品一区二区免费| 国产精品无码一区二区在线观一| 午夜精品一区二区三区在线视| 波多野结衣一区二区三区高清av| 日本一区二区在线免费观看| 午夜视频久久久久一区 | 国产精品视频一区二区三区| 自拍日韩亚洲一区在线| 麻豆精品人妻一区二区三区蜜桃| 人妻互换精品一区二区| 国产伦精品一区二区三区免.费 | 亚洲国产精品一区二区久| 亚洲第一区二区快射影院| 玩弄放荡人妻一区二区三区|