ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 (轉自Wu.Country@俠緣 )

來源:互聯網
上載者:User
文章目錄
  • 評論

WebbUpload上傳組件

特性簡介
可上傳上小於1G的檔案,可以配置Web.config檔案來設定上傳檔案的大小。
完全基於.NET開發,無需任何用戶端配置。
提供同步的上傳進度條,顯示即時上傳進度資訊。
不破壞頁面邏輯,提供類似ASP.NET內建上傳組件的使用方法。
不受 Server.ScriptTimeout(請求的逾時設定) 影響,可設定管理員處理時間。

開發測試環境
作業系統:Windows XP Professional(en)
開發工具:Microsoft Visual Studio.NET 2003
WEB伺服器:IIS 5.0 & .NET Framework 1.1
瀏覽器:Internet Explorer 6.0/

2005-12-28更新說明:
1、修改了多檔案上傳時檔案清單項為空白時的錯誤。
2、更新了進度條的檔案名稱顯示方法,只保留檔案名稱,刪除了路徑。
下載 http://files.cnblogs.com/WuCountry/WebbUploadSample.rar

關於WebbUpload上傳組件的開發請查看相關連結:http://computer.mblogger.cn/wucountry/posts/48947.aspx 

2006-01-25 第二次更新:

下載:http://files.cnblogs.com/WuCountry/WebbUploadSample.zip

說明:
1、修改了一下上傳進度條。
2、添加了幾個屬性,並修改了一個類名,原來的WebbUploadHandler改為WebbUploadStatusHandler。
3、可以不破壞HttpinpuFile上傳,只用在調用時調用方法:EnableWebbUpload(false);就可以使用原來的上傳方法。預設是使用WebbUpload.
4、本次下載檔案裡有示範的完整原始碼。

相信本次修改會會使該組件越來越穩定,而且在我的實際項目裡一直在使用。

2006-02-17
公開全部原始碼。

昨天同事給了我一個工具,可以把DLL檔案逆向為工程項目。所以這個上傳組件也就沒有必須在保護原始碼了。
本來考慮到ASPNetUpload的商業行為,還準備暫時不公開這個組件的原始碼,但這已經沒有意義了。
Webb.WAVE.Controls.WebbUpload控制項全部原始碼:
http://files.cnblogs.com/WuCountry/WebbUpload.zip
結合上面的示範執行個體,應該是一個很好的學習項目。

posted on 2005-12-28 16:40 Wu.Country@俠緣 閱讀(4003) 評論(125)  編輯 收藏 引用 收藏至365Key 所屬分類: 02.ASP.net(C#) 、03.DotNet

評論# re: 第一次更新WebbUpload 2006-01-18 17:20 Wu.Country@俠緣

看到了一些朋友們討論的問題:
http://computer.mblogger.cn/wucountry/posts/48947.aspx

解答如下:
1、從技術上講,當使用了Webbupload組件後,原來的上傳方式(用HttpPostedFile)是不能用了的。原因有點複雜,對於理解其工作方式的人就會明白。這裡說明一下:AspnetUpload和SunriseUpload.0.9.1及Lion.Web.UpLoadModule v1.0 都是一樣的,因為這些從技術上講是同出一則,無非是看誰的指令碼寫的好,誰的演算法好,使得執行效率高一些。
2。m_file.FileName為空白?上傳檔案類有兩個名字,一個是用戶端的檔案名稱,另一個是上傳到伺服器後的GUID檔案名稱,仔細檢查一下。我也再檢查一下。
3.關於原始碼問題,暫時可能還不能公開,因為上面的AspnetUpload是一個商業組件,而且我的組件開發也是基於它的一些思想,因此暫不公開。但我還是說明一下,在我的部落格上有SunriseUpload.0.9.1原始碼的下載,這是國外的一個開源,與其它幾個組件及相似,只是效率低一些,修改一下也可以的。如果做為學習,這是不錯的。  回複   

# re: 第一次更新WebbUpload 2006-01-27 15:19 zhangty

你的大檔案上傳很好用,但是我原來的一些檔案上傳程試都不能用了,包括Lion.Web.WebHtmlEditor也無法上傳附件啦。這個問題能解決嗎?  回複   

# re: 第一次更新WebbUpload 2006-02-16 10:32 ozn

你們所有的解決方案都基於這篇文章
http://blog.aspcool.com/rogerwang/archive/2005/10/18/1841.html#3115
參考這個,大家都可以寫自己的上傳組建  回複   

# re: 第一次更新WebbUpload 2006-02-16 14:58 Wu.Country@俠緣

呵呵,是呀,這個說是我說的:SunriseUpload
但它的上傳效率太低了。只能說工作原理參考它了,還是得自己寫演算法,否則本機測試不到1MB/S
而ASPnetUpload可以過4MB/S,我的可以達到3.5MB/s,都是在我的電腦上做的測試。
  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-02-17 11:38 泥娃

呵真是巧,一分鐘前沒有源碼的,一不小心把刷源碼出來了.  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-02-17 11:41 泥娃

真是感謝 Wu.Country@俠緣   回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-02-17 16:16 mpokky

俠緣大哥有使用手冊嗎  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-02-17 16:53 Wu.Country@俠緣

示範文檔裡有一個小的說明檔案。
畢竟不是商業版,沒有使用手冊。我也沒時間寫,報謙了。
AspNetUpload的協助說明很清楚,可以參考一下,畢竟工作模式是一樣的。
我看了一下,70%的函數及使用是相同的。呵呵,應該有點協助。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-02-20 09:22 暴風雪

我有個關於代碼的問題,

就是在處理Http請求的時候 根據ContentLength建立了一個byte的數組。
那麼是不是說上傳多大的檔案都會在記憶體裡佔用相應的大小的檔案呢?
如果很多人同時上傳 伺服器還不得崩了?

這塊一直沒想太明白,請幫忙指點下。
謝謝  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-02-20 11:26 william_luck

我在運行您的組件時出現以下錯誤,不知道是什麼原因?
Server Error in '/testupload/WebbUploadSample' Application.
--------------------------------------------------------------------------------

Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.

Parser Error Message: The located assembly's manifest definition with name 'Microsoft.Web.UI.WebControls' does not match the assembly reference.

Source Error:

Line 1: <%@ Control Language="c#" AutoEventWireup="false" Codebehind="Inc_Botton.ascx.cs" Inherits="Webb.WAVE.inc_botton" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
Line 2: <%@ Register TagPrefix="iewc" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
Line 3: <script language=javascript>
Line 4: function WavePageChangeTitle(){

Source File: E:\testupload\WebbUploadSample\Inc_Botton.ascx Line: 2

Assembly Load Trace: The following information can be helpful to determine why the assembly 'Microsoft.Web.UI.WebControls' could not be loaded.

=== Pre-bind state information ===
LOG: DisplayName = Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral, PublicKeyToken=31bf3856ad364e35
(Fully-specified)
LOG: Appbase = file:///E:/testupload/WebbUploadSample
LOG: Initial PrivatePath = bin
Calling assembly : (Unknown).
===

LOG: Publisher policy file is not found.
LOG: No redirect found in host configuration file (D:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet.config).
LOG: Using machine configuration file from D:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\config\machine.config.
LOG: Post-policy reference: Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral, PublicKeyToken=31bf3856ad364e35
LOG: Attempting download of new URL file:///D:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/testupload_webbuploadsample/ba2d274f/c422d832/Microsoft.Web.UI.WebControls.DLL.
LOG: Attempting download of new URL file:///D:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/testupload_webbuploadsample/ba2d274f/c422d832/Microsoft.Web.UI.WebControls/Microsoft.Web.UI.WebControls.DLL.
LOG: Attempting download of new URL file:///E:/testupload/WebbUploadSample/bin/Microsoft.Web.UI.WebControls.DLL.
WRN: Comparing the assembly name resulted in the mismatch: PUBLIC KEY TOKEN

--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:1.1.4322.573; ASP.NET Version:1.1.4322.573   回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-02-20 14:30 Wu.Country@俠緣

To:暴風雪
要充分相信我們的伺服器。
呵呵,我的組件沒有經過壓力測試,所以我不好回答你的問題。可能ASPNetUpload的組件經過壓力測試。然而其工作原理是一樣的,如果伺服器的記憶體夠大,應該還是可以的。在我的512MB的機器上測試時都很正常,而且記憶體佔用在1個人上傳的時候可能會達到100MB。但我沒好辦法了,速度與記憶體消耗總得有一個。
To:william_luck
刪除這個JavaScript函數,這是我的其它項目裡的內容。
自己可以刪除與WebbUpload無關的任何內容。這裡面可以是兩個項目。
  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-02-20 15:26 william_luck

在下實在是不好意思,因為我是初學者,不太明白應該在哪個地方刪除那個JavaScript函數,請您一定給我解答一下,非常感謝!
  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-02-20 15:49 william_luck

我在網上找了很多關於安裝Microsoft.Web.UI.WebControls的文章,也都按照步驟照做,但運行您的組件還是報錯,我覺得還是那個treeview控制項沒有註冊成功!另外我發現你發布的程式bin目錄下沒有Microsoft.Web.UI.WebControls.dll這個檔案.
哎!鬱悶了一天了!
如果您有時間的話,能不能上傳一個不包含這個函數的上傳組件!

非常感謝您能夠免費把這個程式和大家共用!希望您以後多加指教!  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-02-20 16:22 Wu.Country@俠緣

一個最簡單的方法就是先備份你下載的源檔案。

再用新的檔案做為測試專案檔案,一點一點的注釋或者刪除你不明白的內容。
直到可以運行,直到你全部看明白,或者只到只剩一行語句。。。。

然後對比兩個項目,向刪除過內容的那個項目中一行一行的添加新內容,直到和原來的完全一樣。。。。
這是我學習的一個方法,希望對樓上的有用。。。。

關於Microsoft.Web.UI.WebControls,原來的是私用組件,後來安裝成為公有程式集,所以你所參考的可能有問題,你從MS的網站上下載最新的安裝包後,直接安裝就行了,本地的BIN目錄裡不再須要這樣檔案了。但地項目發布時,考慮到版本原因,還是將這個檔案COPY過去。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-02-21 13:29 mpokky

俠緣大哥,我編譯後出現這樣的報錯是怎麼回事啊,warning CS1607: Assembly generation -- Referenced assembly 'Webb.WAVE.Controls.Upload' is a localized satellite assembly
另外,大哥有e-mail或qq嗎  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-02-21 14:13 Wu.Country@俠緣

對於檔案裡的一些錯誤,我真的表示很報謙。因為這是從我的實際項目裡提取出來的,所以裡面多多少少有一些我沒能移出的內容,可能會在編譯及運行中產生一些錯誤。
但這並不影響組件的使用,因為組件完全是一個獨立的內容,可以重建立立一個新的Web項目來測試這個組件。。。。。。。。

TO:mpokky:你的問題前面已經有人問過了,你刪除這些多餘的引用就行了。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-02-21 15:49 william_luck

多謝Wu.Country@俠緣 的指點,我刪除那些無用的按鈕函數後終於實現了大檔案上傳的功能,確實不錯!
但我也有一些問題:(1)如何改變上傳檔案存放的路徑(我在singleupfile.aspx.cs中找到一些關於上傳檔案的代碼,但改過之後沒有任何反映!例如:我將下面這條提示句this.Label1.Text= "Uploaded file:<br/>";改成
this.Label1.Text= "上傳檔案名稱:<br/>";但運行後沒有任何變化!在下沒學過c#,.net,麻煩您解釋一下我這個低級的問題)
(2)如何將上傳進度條的提示改成中文提示
由於在下初學asp.net,請教樓主網上有什麼比較好的學習網站或書籍?
麻煩您了!  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-02-22 08:56 Wu.Country@俠緣

Webb.WAVE.Controls.WebbUpload裡有一個資源檔(唯一的),這是一個基於HTML的文字檔,修改裡面的英文,可以得到想要的進度條。

Lable1的顯示文字是動態修改的,靜態只是為了在設計時看見它。你可以學習一下ASP.net的基礎知識。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-02-22 17:45 mpokky

WebbUpload wu = new WebbUpload();
UploadFile uf = wu.GetUploadFile("f");

我得到的uploadfile對象是空的,怎麼回事啊,我 的e-mail是mpokky@citiz.net  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-02-23 09:26 Wu.Country@俠緣

你再仔細檢查一下。你的Form要能上傳檔案才行,也就是要添加:
enctype="multipart/form-data"
或者還可能有其它的錯誤,你參考一下例子。
  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-02-23 18:11 mpokky

現在是UploadFile uf = wu.GetUploadFile("f");
getuploadfile方法返回的是null值,
form的那句話我也寫了
代碼如下:
WebbUpload wu = new WebbUpload();
UploadFile uf = wu.GetUploadFile("file1");
if(uf!=null)
{

string filename = uf.ClientFullPathName;
filename = Path.GetFileName(filename);

string filepath = fyear+fmonth+fday+fh+fm+fs+filename;
string savepath = Server.MapPath(Request.ApplicationPath)+"\\"+ConfigurationSettings.AppSettings["uppath"];

savepath = savepath+"\\"+filepath;
uf.SaveAs(savepath);
}  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-02-24 08:30 Wu.Country@俠緣

你參考例子看看吧。這裡的代碼沒看出有什麼問題。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-03 11:48 denny li

大俠,

謝謝你的幫忙,我現在使用你的代碼在windows 2003 server and vs2003下面使用已經沒有問題了。

但是我們新系統的環境是windows 2003 and vs2005,我把你所有的東西都搬到vs2005下面,system.web使用framework1.1的。

編譯沒有問題,啟動並執行時候出問題。

請問如何才能把你的代碼移到2005下,讓他能正常運行?

希望你得到你的回複

denny.li@fusion-system.com

謝謝

  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-03 16:29 Wu.Country@俠緣

目前我沒有環境在2005下及asp.net2.0下測試。
有機會我一定修改這個組件。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-08 11:05 denny li

你好,謝謝你的協助
現在上傳組件可以在我們2005的項目中使用了
想問一下當我上傳完以後,我重新重新整理頁面為何檔案會重新上傳一次呢?(我到對應目錄下刪除上傳的檔案,重新整理後檔案又上傳了)
如何解決這個問題呢?

(同樣的問題也在你的sample中存在)

希望能得到你的回複

謝謝

Denny Li
  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-08 11:11 Wu.Country@俠緣

這個問題很簡單,你自己在PageOnLoad或者提交事件上添加一些自己的邏輯就行了。
或者你上傳後,做一些跳轉,資源清理等工作就不會有這樣的問題了。 這與組件沒有關係。
感謝你對組件的支援,並使用在2005中。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-08 13:44 笨笨小新

您好!
用了您的Sample,在VS2005上面跑了一下,可以上傳,也出現了ProgressBar,可是上傳完了後,卻出現了不能找到頁面的錯誤,難道根VS2005有關?  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-08 14:33 笨笨小新

另外不好意思還有一個問題。
就是如果上傳檔案的大小超過了web.config裡面的max值,會不會出現找不到葉面的錯誤?

謝謝。
主要是上面催得緊,只好先來問問。
現在也同時開始認真讀代碼。赫赫  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-08 14:57 Wu.Country@俠緣

會!我試過。你也可以試一下。但我的組件沒有在2005裡試過,你自己試試吧。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-08 17:14 笨笨小新

看了一眼source,發現這麼一句。
long m_requestTotalSize = Convert.ToInt64(m_workRequest.GetKnownRequestHeader(11));

這句話大致取到了上傳檔案的長度,(好像不是絕對一致的長度,因為它原理上是Header的長度,天知道Http協議往裡面夾了什麼東西。)

這個長度好像也是在檔案還沒有上傳的時候就能知道。

因此緊跟著下面有這麼兩句
long m_MaxSize = this.GetUpLoadFileLength();
if(m_requestTotalSize>m_MaxSize)
{
return;
}
其中m_MaxSize 就是web.config裡面定義的最大長度,
因此,我就可以在return前面寫上一些代碼,達到如果超出這個預先定義的最大長度,就返回出錯畫面什麼的。

我可以這麼理解吧?

不過討厭的是這是void函數,沒法用傳回值體現結果。。。。

  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-08 17:17 笨笨小新

補充:
我現在就是想上傳檔案長度萬一超過web.config裡面定義的最大值,
最好也不要直接蹦出來找不到伺服器畫面,
而是返回一個比較平易近人的出錯畫面。

赫赫,請繼續指教!  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-08 17:35 笨笨小新

剛才發現在我的web目錄下面
(還沒找到程式裡面在那兒設定的上傳子目錄,姑且認為web子目錄就是上傳子目錄或者臨時子目錄)
有這種檔案
e0bc0bc9-5c13-489a-8946-0338f10dc22a.rar
而且有900多兆。我原始的上傳檔案是rar檔案,可是只有6兆多。

我是調試到某句,幾分鐘什麼也沒幹,畫面就自動跳到找不到伺服器出錯葉面。
反覆了幾次後突然系統告訴我硬碟空間不足,一查,查出了這個檔案來。赫赫

Wu.Country@俠緣 不知道碰到過這種情況沒有?  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-08 17:47 笨笨小新

對了,在我本地的機器上傳送速度也就是50KB/s,這個速度正常嗎?。。。。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-08 17:59 路過

那要看你的機器怎樣了。。。。。
我的:P42.8
512MB記憶體,本機測試3.8MB/S為最大速度。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-08 19:18 笨笨小新

@路過

我的是ThinkPad T41,PM1.7,1G記憶體,按理說不該這麼差呀。

不過我用的是VS2005,總覺得可能哪兒沒設定好?  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-09 09:22 空中飛人

你好.用你那個原始碼下載的地址下載到的檔案是一個件以檔案?需要用什麼開啟?  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-09 09:45 Wu.Country@俠緣

@笨笨小新
別人只是路過,不可能再回答你的問題了。。呵呵。。。。(開個玩笑)
看來是你的代碼不夠精練了,或者配置有些問題。
理論上對比來看,你的真的不應該這慢。。。。。。。。
@空中飛人
打不開?!!!還是怪事!!??你自己再仔細檢查一下好嗎?  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-09 09:48 Wu.Country@俠緣

@笨笨小新
關於前面的幾個問題。
在測試的時候,我也遇到過這樣的問題。
這主要是出現一些IO錯誤,或者異常中斷的時候,沒有清理資源而形成的。一般產生的這樣的檔案不會大於單個上傳的檔案。
如果你沒有上傳900MB的檔案,而出現了這個檔案,則說明你的程式有問題,可能在什麼地方出現了死迴圈。。仔細檢查一下。。。。。。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-09 09:51 Wu.Country@俠緣

最後申明一下,如果準備自己修改及編寫原始碼的時候,請做好心理準備,你可能要在上百MB的資料裡找幾個關健的位元組。。。。。。。。
這樣的調試要小心,學好調試技術及培養好的心理素質很重要。祝你好運。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-09 14:24 笨笨小新

TO 大俠
我確實只用得你的Sample,也出現這樣的問題呀。只不過是用在VS2005上而已。

另外,經常會出現這種情況,就是在Module裡面

byte[] m_preloadedEntityBody = m_workRequest.GetPreloadedEntityBody();

m_preloadedEntityBody 永遠取不到東西,太奇怪了。。。。
偶爾能取到兩回,可是已經搞不清楚怎麼取到的了。。。。

另外,[你可能要在上百MB的資料裡找幾個關健的位元組。。。。。。。。]這句話是啥意思?會有啥情況?我是菜鳥,不要嚇唬我呀。。。。。
  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-09 17:00 笨笨小新

另外,我能否在WebbUpload_BeginRequest裡面,
判斷到如果上傳檔案size大於web.config裡面的設定值的話,直接返回自己寫的出錯頁面,這種要求能否實現呢?
我原來在Global.asax裡面的Application_BeginRequest裡面寫Response.Redirect,可是好像不起作用??  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-15 11:37 hutgu

這個是怎麼回事?我下載晚了之後,直接用vs.net開啟的。

Visual Studio .NET無法建立或開啟應用程式。問題很可能是因為本地Web伺服器上沒有安裝所需要的組建。

  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-15 17:32 Wu.Country@俠緣

MS的webCOntrols組件,我應該刪除它的!
下個星期我重新整理一下這個組件再發給大家吧!盡量做好一些!
也不枉大家這樣對我的支援。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-25 11:01 andyban

我是一個菜鳥,運行您的第二次更新程式出現如下錯誤:
找不到檔案或程式集名稱“Microsoft.Web.UI.WebControls”,或找不到它的一個依賴項。
我去哪裡下載這個組件,給個地址好嗎?

  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-27 08:54 Wu.Country@俠緣

到MS的網站去下載,應該可以很很快的搜尋到這個組件。
或者刪除這個組件的引用。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-27 11:30 Houp

俠緣 老師能否給出一個vb.net調用上傳組件的樣本?自已做了一個,可總是有問題。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-27 17:12 Houp

在區域網路內測試了一下,上傳速度為1.5-1.9M之間。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-30 10:49 浪漫

如果我想修改:Webb.WAVE.Controls.WebbUpload自動產生的javascript代碼,如何做?是否可以提供Webb.WAVE.Controls.WebbUpload的源代理?  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-03-30 11:38 Wu.Country@俠緣

該原始碼早就公開了,在部落格頁面上的最後上。你自己下載吧。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-04-01 22:30 我123

web.config裡面的編碼改成GB2312的時候上傳中文檔案名稱就成亂碼了,我的工程裡只能使用這種編碼,怎麼辦  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-04-03 15:11 cjh

哈哈。俺也用過逆項工程的工具,不錯的
有GUI不過只能一個一個的看每個類,但是用命令列一下把全部類都搞定,哈哈。
不過我沒機會反編譯摟主的東東啦。
樓主的東西和SunriseUpload一樣呀  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-04-03 15:34 Wu.Country@俠緣

@我123
我沒遇到過這樣的問題!為什麼不就用utf-8呢?
@cjh
我的這樣組件借鑒了SunriseUpload的一些指令碼。核心技術都是參考的這篇文章:
http://blog.aspcool.com/rogerwang/archive/2005/10/18/1841.html#3115
雖然從技術上講,大家都可以寫上傳組件,但對於不同的演算法,上傳的效率還是不一樣的。。。。。。
關於這幾個組件中的相互關係我已經說的很清楚了,就不再多說了。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-04-04 09:39 TW

5b1a0775-7dc3-4546-9659-1cae53127d5c.jpg
上傳的檔名要如何讓它變成中文呢?  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-04-04 09:52 TW

@TW
原來是:
m_filePath = Path.Combine(m_path,Path.GetFileName(m_file.ClientFullPathName));
  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-04-05 10:50 泉水

在EnableWebbUpload(false)的情況下,用以下方法m_input為null,無法上傳儲存。
HtmlInputFile m_input = this.FindControl("m_file") as HtmlInputFile;

改為以下方法就可以了:
foreach (Control c in Form1.Controls)
{
Response.Write(c.ToString() + "-" + c.ClientID.ToString() + "<br>");
if (c.ClientID == "fdsa")
{
HtmlInputFile m_input = (HtmlInputFile)c;
if (m_input != null)
{
m_input.PostedFile.SaveAs(Path.Combine(MapPath("."), Path.GetFileName(m_input.PostedFile.FileName)));
}
return;
}
}
Form1為表單名,fdsa為HtmlInputFile的ID,並設為伺服器端控制項runat=server,否則會找不到。  回複   

# re: ASP.net下大檔案上傳的解決方案及WebbUpload組件源碼 2006-04-05 15:28 Wu.Country@俠緣

@泉水
謝謝你提供的內容。。。  回複   

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.