當前位置:首頁 » 文件管理 » aspnet斷點上傳

aspnet斷點上傳

發布時間: 2022-09-19 06:06:25

Ⅰ ASPNET的問題

F11調試

Ⅱ fileupload 上傳時,出現文件訪問被拒絕的錯誤

你的文件上傳只能針對本網站內的目錄。
如果你想傳到C盤或D盤的目錄。因為使用的aspnet內置賬戶,不一定對文件夾 有寫入許可權。

Ⅲ ASPNET(c#)伺服器控制項FileUpload的問題

你這樣搞錯了吧.
protected void Page_Load(object sender, EventArgs e)
{
this.FRUploadImage.Attributes.Add("onchange", "document.getElementById('FRUploadImagePic2').src='"+FRUploadImage.PostedFiles.FileName+"'");
}
你這是在Page_Load里執行的,肯定報錯,Page_Load是頁面初始化就執行的.

你應該再增加一個伺服器按鈕,然後在按鈕的OnClick事件里判斷上傳控制項文件是否為空,然後再保存文件到指定目錄.記得保存文件的目錄要設置寫入的許可權.

Ⅳ ASP.NET創建WEB應用程序不能對其進行調試

如果iis是後來安裝的,需要首先。net在命令工具中執行aspnet_regiis -i,安裝asp。netframework
然後檢查下邊的配置:
如果iis不是後安裝的,直接檢查下邊的配置:
1.確認在「配置屬性」中的「啟用ASP.NET調試"為"True"
2.確認你的"web.config"中的"debug=true"
3.若你安裝過wind2000 SP4後,則要在命令行執行"regsvr32 i aspnet_isap.dll"
4.在IIS里查看站點信息,選中"目錄安全性",裡面有"匿名訪問和身份驗證控制",再點擊"編輯..",確認"集成Windows身份驗證"選項被選中
5.在IE選項->"安全設置"->"自定義級別"里有"用戶驗",確認選中"自動使用當前用戶名和密碼登錄"

6。修改machine.config文件里的username=machine改為username=system
7。可以通過附加進程去調試。把w3wp.exe 加進去調試
或者試一試 aspnet_regiis.exe -r

Ⅳ 上傳作業照片出現文件訪問出錯

上傳作業照片出現文件訪問出錯可能程序本身問題。
很有可能是路徑不對,包括待上傳文件的絕對路徑和目標文件夾的路徑.你設個斷點看看.
你的文件上傳只能針對本網站內的目錄。如果你想傳到C盤或D盤的目錄。因為使用的aspnet內置賬戶,不一定對文件夾有寫入許可權。
打開某些文件夾的時候,出現提示「無法訪問拒絕訪問」,導致文件夾打開失敗,這讓用戶非常煩惱。那麼,Win10文件夾無法訪問拒絕訪問怎麼解決呢:
1、下面以系統盤里的cookies文件夾為例子,用滑鼠右鍵點擊該文件,在彈出的菜單中點擊【屬性】;
2、在彈出的屬性文件夾中,選擇【安全】;
3、發現裡面多了一個用戶,該用戶的名字是Everyone,發現這個賬戶沒有任何許可權,難怪打不開文件夾,得需要給予許可權,點擊【編輯】給予許可權;
4、在編輯許可權的時候,點擊完全控制,給予許可權後,點擊應用確定;
5、點擊確定竟然提示【應用安全信息時出錯】,點擊取消,竟然也提示這個錯誤;
6、重新查看這個用戶的許可權時,竟然也賦予了最大許可權;
7、嘗試著打開文件夾,竟然還不能打開,只能設置最高許可權,點擊【高級】;
8、在【高級】設置裡面,把裡面的Everyone賬戶刪除;
9、刪除了Everyone賬戶後,發現終於可以打開文件夾了。

Ⅵ ASP.NET做的網站本地測試正常,上傳後台生成靜態是出錯,返回如下,求幫助!

你是不是用了url重寫做成偽靜態?
如果你是用FRAMEWORK2。0的話要在IIS中點擊網站右鍵屬性->主目錄->配置->通配符應用程序映射那裡插入C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
把確認文件是否存的的勾去掉

Ⅶ 熟悉用ASP.NET2.0(C#版)開發商務網站的能人進來

2501:越用asp.net2.0越煩,真是煩透了.
2502:在asp.net中如何實現長文章分頁的功能?望高手幫忙!!!!!!!!!
2503:DAL層是不是可以共用?
2504:致WebHtmlEditor開發者,頂者有分!!!!
2505:如何區分多核和超線程的區別?
2506:在網路貼吧中,如何實現sql注入,或者顯示不同的字體、顏色
2507:新浪上說IBM已經有500GHZ的晶元,英特爾有何感想呢
2508:多核究竟能給我們帶來什麼?歡迎大家討論
2509:多線程&多核
2510:開發asp.net,裝什麼系統?
2511:孟子E章,思歸,高手們來看看吧.急哦......
2512:在asp.net裡面怎樣獲取客戶端的硬體信息
2513:關於新聞系統的問題
2514:北京北三環安貞找和租
2515:哈哈哈,我的混合型網站終於做好了asp+c#.net
2516:問一下<代碼大全2>這本書,怎麼樣?
2517:新聞發布系統問題!!!急急急急急急!!!!!!!!!!!!
2518:用ASP.NET開發的網站的安全性的問題
2519:我想測試連接資料庫是否正常,用什麼語句速度最快?
2520:求outlookbar!
2521:求Active Reports for .net 2.0注冊機
2522:泡泡網生活社區源碼下載
2523:看到好多朋友想換城市就換城市,有點疑惑。
2524:給幾個適合初學者的asp.net的例子
2525:多線程同時插入同一張表,會不會提高速度?
2526:最近常常在C#版溜達,給C#版的友人來篇「友邦驚詫論」。
2527:100分!asp.net開發的人事系統案例或者其中某些功能部分也行!比如:請假.
2528:毫無技術含量,真成機器人了
2529:在aspx中使用梅花雪日歷控制項的問題,你們有誰把梅花雪的日歷控制項用到aspx文件當中過的進來看看
2530:大家自己都有什麼好的ASP.NET作品,給個地址,我下載學習一下,不開源的也行,主要想學習思想和需求
2531:請問一下各位,哪裡ASP.NET 2.0寫的新聞發布系統或者文章管理系統下載
2532:現在分數怎麼這么少了?
2533:急需::asp.net繪制曲線控制項或原代碼
2534:ADO.NET 如果需要處理每秒100次以上數據的並發。
2535:================DataGrid中動態邦定數據,設置可排序,但是在ItemDataBound事件中居然。。。我靠!!!!!
2536:明天就開始是中考了,放分200 祝福!
2537:誰可以介紹幾個好的asp.net源碼下載的網站嗎
2538:《數字八卦》手機程序,適用於MOTOE680/E680i/E680g/A1200/A780
2539:如何在網頁中實現刪除硬碟中文件
2540:"處男"我不會鑒別,不過對鑒別"處女",還是有一些方法的
2541:求人力資源系統源瑪,asp.net開發
2542:session 使用後能手動關掉馬?
2543:絕對路徑與相對路徑的問題?
2544:[求助]請教兄弟們,如何實現體溫表的統計與列印(內有樣表)? 難!!!
2545:[馨郁星願]公司想租用個聊天室?哪裡有這樣的服務商呢??
2546:ajax的簡單應用實例
2547:這算不算是變態空間。。。大家幫幫忙!
2548:如何才能不讓用戶看到源代碼
2549:誰有獲取網頁上圖片URL的代碼
2550:誰有獲取網頁上圖片URL的代碼
2551:投票:用VS2005網站開發朋友你們現在用的是哪個版本?
2552:哪裡有asp.net入門級的選擇題題和填空題啊
2553:如何在字元串里邊添加圖象,像QQ聊天一樣的實現呢?
2554:能不能在.net里編個dll文件,然後在asp里也能用,前提是用asp的機子沒有.net framework.
2555:大家是否覺得csdn應該標示各層樓的樓數啊?
2556:郵件中的word附件怎樣截取並解析出來可以下載?
2557:100分求一個簡潔清新的css配色方案
2558:價值100分的問題。統計查詢要求用sql語句實現
2559:asp.net上股市趨勢圖那樣的圖形列表誰會做?
2560:如何保護我的DLL文件?
2561:求ASP.NET(C#)自動採集代碼,在線等
2562:100分求ajax局部刷新image控制項圖片的源碼
2563:SQLServer中如何只取得datetime類型的日期部分?
2564:求助,哪為大哥給個購物車的原碼
2565:別整天什麼強奸阿、做雞啊,什麼的,其實做程序員編程序只是一份合法的工作!
2566:上海硅科信息技術有限公司,有誰知道嗎?
2567:怎麼解決,COOKIE保存中文亂碼
2568:怎麼解決,COOKIE保存中文亂碼
2569:平台是什麼?很多ERP公司有二次開發平台,這個平台道底是什麼???
2570:WebPart問題,求救!!!!!!!!!!!!!!
2571:怎樣禁止搜索引擎在某個時段來收錄?
2572:一個簡單的問題
2573:如何快速知道DataSet中的數據是第幾行
2574:多線程採集的問題
2575:我有一個哥們,現正在跟一個女孩談對象,想知道她以前是否有「越軌」行為(是不是處女?),怎麼辦呢?
2576:.NET 使用Oracle資料庫 連接池參數為何不生效?
2577:小小的正則表達式,求教!
2578:大家在「打飛機」的時候都想些什麼呢。順便問一下,有了女友還用打飛機嗎,打飛機被女友發現,她會說些什麼
2579:為了女友將辭職,合肥那兒程序員好不好找工作?
2580:十分著急,問FindControl!!!只有這些分數了 大哥們幫忙!
2581:使用介面有什麼好處?
2582:BS架構軟體也能這樣玩
2583:找一控制項的值findcontrol?
2584:急!請問哪位有.net Webform和SQL-server環境下圖片上傳及圖片展示的全套代碼!分不夠可開新貼!
2585:我想做一個商業網站,用來營運,如果用盜版win2003+asp.net+sqlserver開發,會不會被查出來?有啥後果.
2586:送分題:類有哪些特性?
2587:vb.net怎麼實現crc32校驗,有代碼啊?
2588:求頁頁級"變數"處理方法
2589:有點難度的問題(那位高手幫幫忙).
2590:×××××××××放100分簡單問題求解,GridView 中headerText 顯示圖片的問題
2591:我是學數學的,剛從大學畢業,希望大家指點
2592:程序布署到用戶機子上後,FreeTextBox的問題
2593:升猩猩了,散分
2594:這年頭想找份工作 真 真 真 的那公難嗎?
2595:該項不適於在指定狀態下使用
2596:有個項目需要發包,大家報報價!
2597:求助!!!怎麼樣能讓tooltip停留的時間長一點???
2598:工作機會--初級ASP.NET 網站程序員 深圳
2599:Textbox String 性能問題
2600:慶祝網站上線,散分嘍!!!人人有份!!
2601:郁悶!偶最近幾十次面試都失敗了!也不知道是怎麼回事,大家幫我看看!
2602:如何將資料庫中的新聞讀出來,然後像一些新聞網站那樣,將信息顯示在頁面上?
2603:剛剛作完文章採集,丟到自己得空間里卻不能用。散分郁悶一下。
2604:剛剛作完文章採集,丟到自己得空間里卻不能用。散分郁悶一下。
2605:大家怎麼看面試需要上機考試?
2606:『第二屆CSDN優秀版主評比』,有心的朋友支持一下偶或者.net區的幾位版主吧~~~
2607:認為編程語言只是工具而已的可以加入本CLUB
2608:asp.net如何與delphi做的伺服器通信?
2609:內存泄露了,怎麼辦?(高手請進...)
2610:如何徹底卸載IE
2611:為世界盃而散分
2612:超級大難題!看似簡單,實則超難,現實企業中的確極為實用的一個功能!以我的水平,我認為asp.net 不可能實現!請高高手幫忙解決!!100
2613:想要辭職了卻感覺到很郁悶
2614:高分求救!如何動態創建一個類的實例?
2615:如果讓留言板的內容支持圖片? 急等!!
2616:關於使用文本和標簽控制項的問題
2617:請教列印問題
2618:datalist外的按鈕如果獲取datalist的主鍵取.請教!
2619:如何判斷多個Dropdownlist 選項重復?謝謝
2620:請問如何生成動態緩沖頁面 .aspx(.aspx?id=435....)
2621:為了跑.net 2005我的電腦配置換了4次
2622:感覺asp.net 對一些細節問題的處理還不如 Asp,誰能解決我的問題!
2623:FileUpload控制項的問題
2624:怎樣讓一個層當它顯示時總是在屏幕中央?急!!!
2625:請問10萬條數據加入DateSet是會怎麼樣的?
2626:有沒有好的asp.net2。0上傳下載系統源代碼啊?
2627:我想在頁面上添加一個「關閉本頁面」按鈕,然後點擊該按鈕,頁面就能自己關閉,這個功能如何實現?
2628:今天添了兒子,散分!!!
2629:我想我的這個問題對於剛畢業的人來說都會碰到,歡迎各位指點,迷茫
2630:哪個好心的高手能給個GridView使用<PagerTemplate>自定義分頁的完整代碼學習一下啊,在網上找的全是少胳膊少腿的不能用~~~~
2631:上傳文件時如何文件存在,如何覆蓋???在線等
2632:求商業版本的動網論壇(sql)
2633:關於合作做電子商務平台,怎麼分配股份的問題?
2634:treeview和資料庫
2635:急問:一個GIS系統值多少錢?大家估個價,外包
2636:求教大家 如何編寫收取email的程序,不使用jmail
2637:CS 如何調用另外一個CS文件。。。沒有編譯的情況下
2638:如何調用程序自動對文件進行殺毒,請教高手
2639:有沒有辦法設置VS.Net默認的源代碼管理?
2640:關於三層架構的商討
2641:為什麼說在網上傳輸字元串比傳輸圖片快?
2642:asp.net中做FTP下載,怎麼才能不讓它出警告對話框,怎麼才能下載到固定目錄而無需選擇路徑?
2643:請問,如何實現在客戶端控制伺服器上的某一應用程序的打開和關閉?
2644:計算機3級對找asp.net工作影響大嗎
2645:正則表達式提取字元串
2646:急問高手:update news set title='aaaaaa' where id='4'為什麼不對?
2647:怎麼樣在Ctrl+V網頁上的文章時,將<br>和 等標記也存入資料庫?
2648:如何發展才能有出國的機會?
2649:如何編寫一個高效的時間觸發器?
2650:datagrid中一行能否顯示多張圖片
2651:虛心請教:轉載別人的文章,如何還原格式,和原來格式一模一樣?
2652:WebPart問題??
2653:高分求救!如何把有圖片與文字的html文檔保存到資料庫中!
2654:理想有多遠,我們就能走多遠--寫在世界盃開始時
2655:感謝wengnet給我一次面試的機會:)
2656:CSDN里有誰是在千橡的,陳一舟真很無恥......
2657:系統對接
2658:如何讓ASPX使用我指定的帳號來寫文件(ASPNET帳號我設了不能擁有寫許可權)
2659:求助!!!新聞採集思路和主要代碼.
2660:孟子,思歸都答不來的題目,看看有沒有挑戰者?
2661:怎麼樣實現忽略大小寫進行查詢和登陸?
2662:框架的按鈕分割條實現問題
2663:我想把家裡的一台電腦作為伺服器. 可是IP是動態的,我有一個想法不知道可行不? 大家進來看看好嗎.....
2664:200分,上海張江轉租住房
2665:誠意請教web高手,關於社區虛擬形象系統的一些問題.
2666:高手的進來分析一下
2667:asp.net2.0有能力開發符合web標准(div+CSS)的網站嗎?asp.net2.0高人來討論
2668:簡歷刪除以後簡歷原來編號無法被新簡歷所替代
2669:關於alt屬性的顯示問題
2670:請問如果做網站(會員量超過100萬),到底用asp好還是用asp.net好?
2671:100分 明天天早就接分 求一正則表達式用來匹配日期
2672:Access資料庫,有辦法在添加主題的時候獲得id號嗎?
2673:在濟南齊魯軟體園或附近找個美工工作[急]
2674:message 對話框彈出時是否都會「咚」一聲?
2675:我需要幫助
2676:能不能把csdn的論壇作為一個開源項目?讓大家共同學習,共同維護
2677:急用sql server 2005簡體中文開發版,有沒有http下載的
2678:我也來發我的一個簡單的.Net網站
2679:100分求asp.net全文檢索的源碼!!!
2680:為什麼在文本框里填入版權標志即一個圓中間一個c(HTML代碼就是&;),然後提交到資料庫就會出現錯誤!
2681:迷惑,求解!
2682:如何讓TextBox只輸入數字
2683:圖片刷新的問題
2684:生2星,提前散分
2685:ASP.NET 1.1 如何做真的文件上傳進度條???請高手幫忙啊!!!
2686:為了訪止非認證網站訪問Web Service ,在服務端,如何正確識別調用本WebService的網站URL呢?
2687:請教,有了解 北京德鵬軟體有限公司 的XDJM嗎?
2688:誰能提供windowsxp的英文版下載,要非集成SP2的,,100分相送
2689:寫了5年的ASP,自以為是高手。直到我看到了這樣的代碼,沒有想到程序還可以這么寫!!!
2690:誰有 C#高級編程 (第三版)電子版????
2691:調查一下,你用什麼配置的機器跑VS2005
2692:惋惜一個美女 ---- 小澤瑪利亞
2693:快來救命,100分求助!有關MDAC的問題!給源碼再加100分!
2694:如何解析出頁面標簽中的純文字內容?
2695:求救啊
2696:很久沒來了,現在正為兩個工作抉擇犯愁,請大家幫忙決策下
2697:http 請求頭和響應頭 的問題 ------高分求解
2698:想買個空間,請幫忙介紹,隨便散點分
2699:大家推薦一些好的CMS系統和新聞系統
2700:北京信源資訊公司怎麼樣的,有了解的兄弟介紹一下
2701:聽說VS2005團隊版的正式中文版微軟已經正式發布了,不知道哪裡有得下載?
2702:******Ajax實現的留言本本,包含無刷新分頁,無刷新登陸,刪除,回復等技術,大家瞅瞅提點意見******
2703:那位高手幫個忙,解決一下,無限級別分類的問題,????
2704:Repater控制項內容內排列的行政行列數,怎麼才能控制。(可憐一下吧,畫圖手都給畫累了)
2705:提兩上問題關於DropDownList樣式表和HTML字元過濾!會的請進!謝謝!
2706:ASP.NET空間多少錢? 有要合租的嗎
2707:怎樣能出現類似新浪發送郵件時的「正在發送中」的提示框??
2708:有誰知道上海葡萄城信息公司怎麼樣??
2709:▲▲▲ajax與.net結合開發的搜索引擎▲支持FireFox▲另發現一IE BUG▲▲▲
2710:資料庫連接字元串不能默寫下來的進來!
2711:今天高考,感觸頗深!我現在也是dotnet程序員了,呵呵,上學的時候沒有好好學,現在才知道書中自有黃金屋,還有什麼什麼玉!
2712:用 HttpWebRequest 或 XMLHTTP 獲取一個國外網站內容,怎麼設置他的超時時間。
2713:高考第一天祝福那些學子 放分200
2714:利用ASP.NET2.0新特性無需代碼實現單點登錄
2715:在次問個問題....
2716:靜態html頁面如何實現點擊統計?
2717:郁悶呀,今天到我們公司面試的兩個人,都半路嚇跑了,
2718:求ILDOG1.0代碼混淆器破解版(.NET防反編譯軟體),100分拱手相給
2719:XP菜單的問題!
2720:自從我寫了首打油詩給她看後,就老被罵白痴。苦惱
2721:很久沒有散分了,問一個問題
2722:一位女生寫的追MM秘計(菜鳥立馬成高手)
2723:帶現在公司的代碼去別的公司,犯法嗎?
2724:100分 問題 求解!!!!高手請進
2725:老問題了,但好象還沒有人有正解!
2726:google為什麼一直上不去?
2727:[程序發布]拓文asp.net網站內容管理系統 V2.0 測試版0605
2728:忍不住了!160分求教TREEVIEW一簡單問題
2729:刷新後父窗體上原有的很多數據全沒了!!!!救我啊!!
2730:這個月增加了一份兒收入,不錯
2731:關於載入日期控制項的問題,急。。。。在線等
2732:三層結構的問題... ...
2733:混了兩年終於混到一顆星~ 大散300分慶祝一下~~
2734:哪裡有Asp.NET(C#)的帶CS源文件的程序,讓我學習一下。
2735:關於在Panel中控制項的顯示問題?
2736:請大家給我一些asp.net學習代碼
2737:請問如何在網站里實現發送簡訊的功能? 急,急,急
2738:不裝Macromedia Flash,只想讓客戶機運行flash動畫(.exe格式),需要安裝什麼?
2739:目前競標一項目,對方要求用java,我如何說服對方使用.net呢,請各位支招
2740:我的職業道路如何規劃,給點意見吧!
2741:ASP.NET里如何控制線程安全?
2742:如何在dropdownlist 中綁定一個 數組?
2743:大家說說第一個asp.net 工作的工資都是多少?》
2744:求原代碼 ASP.NET(C#)
2745:散分:歡迎83出生的程序員加入群:15340097 以前是83年的程序員進來那個帖子要結了。
2746:對目錄/picture的訪問被拒絕???[再次放送100分]
2747:asp.net群--周末開發加入
2748:在asp.net三層結構項目中怎樣處理異常,把這個異常信息提示用戶?
2749:星期六是否只有我還在上班?
2750:發現一個好東西!自動生成代碼,散分!
2751:C#如何在先播發視頻和音樂????????????
2752:急!新手再撒80分!求教關於查詢結果的關鍵字變色問題!大家幫幫忙啊!謝謝了!在線等待中~~~
2753:職業相關:大家說我該去這家單位嗎?
2754:100 分求救 一個大家很熟悉的存儲過程的問題!!!
2755:醫生和大夫的區別
2756:關於指定一段html內所有圖片按比例縮小的問題..
2757:我想學一下"如何生成靜態頁面",誰有這方面的資料,或者給我講一下思路。

Ⅷ 用DRMER WEAVER做的網頁,已做完,也有上傳工具,請問到底如何上傳到INTRNET上,這裡面前奏和具體步驟怎麼做

網站上傳方法匯總,製作好網頁後,如何把網頁上傳到申請的空間呢?為初學者做一個匯總。

上傳的定義

上傳就是將信息從個人計算機(本地計算機)傳遞到中央計算機(遠程計算機)系統上,讓網路上的人都能看到。將製作好的網頁、文字、圖片等發布到互聯網上去,以便讓其他人瀏覽、欣賞。這一過程稱為上傳。

上傳的來源

上傳一詞來自英文(upload),拆開來「up」為「上」,「load」為「載」,故上傳也叫上載,與下載(download)是逆過程。 網頁教學網

上傳的分類 Webjx.Com

上傳分為Web上傳和Ftp上傳,前者直接通過點擊網頁上的鏈接即可操作,後者需要專用的FTP工具。

上傳小知識
網頁教學網

在上傳主頁之前,讓我們先來認識Internet上一個基本的概念———FTP。它是英文「File Transfer Protocol」(文件傳輸協議)的縮寫,不過我們今天已經把它看成了一個動詞,意思是說在計算機和計算機之間傳輸文件。把自己製作好的主頁上傳到伺服器上,就要用到FTP。

有許多種方法可以把主頁文件上傳到Internet伺服器上,下面是常見的五種方法。

1、使用FTP軟體上傳主頁文件

這是最常用、最方便也是功能最為強大的主頁上傳方法。現在網上這類軟體很多,像CuteFtp、WS-Ftp已經廣受網友歡迎。這類軟體除了可以完成文件傳輸的功能以外,還可以通過它們完成站點管理、遠程編輯伺服器文件等工作,一些常用的FTP軟體還有斷點續傳、任務管理、狀態監控等功能,可以讓你的上傳工作變得非常輕松。

2、使用「兼職」的FTP軟體上傳主頁文件

所謂兼職的 FTP軟體,是指軟體本身並不是專門用來完成FTP功能的,主頁上傳只是其編外任務。例如我們常用的FrontPage、Dreamweaver、東方主頁王Ⅱ等都有主頁上傳、發布的功能。使用這類軟體的好處是可以在編輯主頁的同時就上傳到伺服器上查看主頁效果,省去了啟動軟體、登錄、設置等諸多麻煩。但是,這種方法往往上傳速度較慢,且難以對伺服器上的文件進行管理。

3、使用Web頁面上傳主頁文件

和前面兩種方法相比,這種方法不但沒有什麼明顯的優點,而且速度緩慢、操作麻煩、不支持斷點續傳。但是,如果你恰恰申請了一個這樣的不支持FTP的免費主頁空間,那麼就只能使用這種笨拙的方法了!

4、通過命令上傳主頁文件

在很久很久以前,Unix系統上的FTP程序是基於命令行的,現在的Window95/98/NT/2000/Me仍然有基於命令行的FTP程序(進入 DOS模式,輸入FTP就可以了)。使用這種方法首先要掌握幾十條命令不說,而且屏幕上通常只能顯示25或50行文字,很不方便。圖形界面的FTP軟體流行之後,這種方法已經被大多數網友拋棄了,只供少數骨灰級的網蟲練習他們的指法。

5、通過E-mail上傳

這種方法要求你把主頁文件通過E-mail發給系統管理員,然後再由系統管理員把它們放到伺服器上。這是最簡單也是最復雜的方法,隨著網路條件的提高,這種方法已逐漸銷聲匿跡了。

大文件上傳
Webjx.Com

以前也做過文件上傳,但都是些小文件,不超過2M。 這次要求上傳100M以上的東西。沒辦法找來資料研究了一下。基於WEB的文件上傳可以使用FTP和HTTP兩種協議,用FTP的話雖然傳輸穩定,但安全性是個嚴重的問題,而且FTP伺服器讀用戶庫獲取許可權,這樣對於用戶使用來說還是不太方便。剩下只有HTTP。在HTTP中有3種方式,PUT、WEBDAV、RFC1867,前2種方法不適合大文件上傳,目前我們使用的web上傳都是基於 RFC1867標準的HTML中基於表單的文件上傳。

一、先簡要介紹一下RFC1867(Form-based File Upload in HTML)標准:

1.帶有文件提交功能的HTML表單

現有的HTML規范為INPUT元素的TYPE屬性定義了八種可能的值,分別是:CHECKBOX, HIDDEN,MAGE,PASSWORD,RADIO,RESET,SUBMIT,TEXT。另外,當表單採用POST方式的時候,表單默認的具有「application/x-www-form-urlencoded」的ENCTYPE屬性。

RFC1867標准對HTML做出了兩處修改:

(1)為INPUT元素的TYPE屬性增加了一個FILE選項。

(2)INPUT標記可以具有ACCEPT屬性,該屬性能夠指定可被上傳的文件類型或文件格式列表。

另外,本標准還定義了一種新的MIME類型:multipart/form-data,以及當處理一個帶有ENCTYPE="multipart /form-data" 並且/或含有<INPUT type="file">的標記的表單時所應該採取的行為。

舉例來說,當HTML表單作者想讓用戶能夠上傳一個或更多的文件時,他可以這么寫:

<FORM ENCTYPE="multipart/form-data" ACTION="_URL_" METHOD=POST>

File to process:
<INPUT NAME="userfile1" TYPE="file">

<INPUT TYPE="submit" VALUE="Send File">

</FORM>

HTML DTD里所需要做出的改動是為InputType實體增加一個選項。此外,我們也建議用一系列用逗號分隔的文件類型來作為INPUT標記的ACCEPT屬性。

... (其他元素) ...

<!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX |

RADIO | SUBMIT | RESET |

網頁教學網

IMAGE | HIDDEN | FILE )">

<!ELEMENT INPUT - 0 EMPTY>

<!ATTLIST INPUT

TYPE %InputType TEXT

NAME CDATA #IMPLIED -- required for all but submit and reset

VALUE CDATA #IMPLIED

SRC %URI #IMPLIED -- for image inputs --

CHECKED (CHECKED) #IMPLIED

SIZE CDATA #IMPLIED --like NUMBERS,

but delimited with comma, not space

MAXLENGTH NUMBER #IMPLIED Webjx.Com

ALIGN (top|middle|bottom) #IMPLIED

ACCEPT CDATA #IMPLIED --list of content types

>

... (其他元素) ...

2.文件傳輸延遲

在某些情況下,在確實准備接受數據前,伺服器先對表單數據中的某些元素(比如說用戶名,賬號等)進行驗證是推薦的做法。但是,經過一定的考慮後,我們認為如果伺服器想這樣做的話,最好是採用一系列的表單,並將前面所驗證過的數據元素作為「隱藏」欄位傳回給客戶端,或者是通過安排表單使那些需要驗證的元素先顯示出來。這樣的話,那些需要做復雜的應用的伺服器可以自己維持事務處理的狀態,而那些簡單的應用的則可以實現得簡單些。

HTTP協議可能需要知道整個事務處理中的內容總長度。即使沒有明確要求,HTTP客戶端也應該提供上傳的所有文件的內容總長度,這樣一個繁忙的伺服器就能夠判斷文件的內容是否是過大以至於將不能完整地處理,從而返回一個錯誤代碼並關閉該連接,而不用等到接受了所有的數據才進行判斷。目前一些現有的 CGI應用對所有的POST事務都需要知道內容總長度。

如果INPUT標記含有一個MAXLENGTH屬性,客戶端可以將這個屬性值看作是伺服器端所能夠接受的傳送文件的最大位元組數。在這種情況下,伺服器能夠在上傳開始前,提示客戶端在伺服器上有多少空間可以用來進行文件上傳。但是應該引起注意的是,這僅僅是一個提示,在表單被創建後和文件上傳前,伺服器的實際需求可能會發生改變。

在任何情況下,如果接受的文件過大的話,任何一個HTTP伺服器都有可能在文件傳輸的過程中中斷傳輸。

3.傳輸二進制數據的其他解決辦法

有些人曾經建議使用一種新的MIME類型"aggregate",比如說aggregate/mixed 或是content-transfer-encoding "包"來描述那些不確定長度的二進制數據,而不是靠分解為多個部分來表示。雖然我們並不反對這么做,但這需要增加額外的設計和標准化工作來讓大家接受並理解"aggregate"。從另一方面來說,"分解為多部分"的機制工作得很好,能夠非常簡單的在客戶發送端和伺服器接受端加以實現,而且能像其他一些綜合處理二進制數據的方式一樣高效率地工作。

4.例子
Webjx.Com

假設伺服器段提供的是如下的HTML:

<FORM ACTION="http://server.dom/cgi/handle"

ENCTYPE="multipart/form-data"

METHOD=POST>

What is your name? <INPUT TYPE=TEXT NAME=submitter>

What files are you sending? <INPUT TYPE=FILE NAME=pics>

</FORM>

用戶在「姓名」欄位裡面填寫"Joe Blow",對問題'What files are you sending?',用戶選擇

了一個文本文件"file1.txt"。

客戶段可能發送回如下的數據:

Content-type: multipart/form-data, boundary=AaB03x

--AaB03x

content-disposition: form-data; name="field1" 網頁教學網

Joe Blow

--AaB03x

content-disposition: form-data; name="pics"; filename="file1.txt"

Content-Type: text/plain

... file1.txt 的內容...

--AaB03x--

如果用戶同時還選擇了另一個圖片文件"file2.gif",那麼客戶端可能發送的數據將是:

Content-type: multipart/form-data, boundary=AaB03x

--AaB03x

content-disposition: form-data; name="field1"

Joe Blow

--AaB03x

content-disposition: form-data; name="pics"

Content-type: multipart/mixed, boundary=BbC04y

--BbC04y

Content-disposition: attachment; filename="file1.txt"

Content-Type: text/plain

... file1.txt 的內容...

--BbC04y

Content-disposition: attachment; filename="file2.gif"

Content-type: image/gif

Content-Transfer-Encoding: binary

... file2.gif的內容...

--BbC04y--

--AaB03x--

二、利用RFC1867標准處理文件上傳的兩種方式:

Webjx.Com

1.一次性得到上傳的數據,然後分析處理。

看了N多代碼之後發現,目前無組件程序和一些COM組件都是使用Request.BinaryRead方法。一次性得到上傳的數據,然後分析處理。這就是為什麼上傳大文件很慢的原因了,IIS超時不說,就算幾百M文件上去了,分析處理也得一陣子。

2.一邊接收文件,一邊寫硬碟。

了解了一下國外的商業組件,比較流行的有Power- Web,AspUpload,ActiveFile,ABCUpload,aspSmartUpload,SA-FileUp。其中比較優秀的是 ASPUPLOAD和SA-FILE,他們號稱可以處理2G的文件(SA-FILE EE版甚至沒有文件大小的限制),而且效率也是非常棒,難道編程語言的效率差這么多?查了一些資料,覺得他們都是直接操作文件流。這樣就不受文件大小的制約。但老外的東西也不是絕對完美,ASPUPLOAD處理大文件後,內存佔用情況驚人。1G左右都是稀鬆平常。至於SA-FILE雖然是好東西但是破解難尋。然後發現2款.NET上傳組件,Lion.Web.UpLoadMole和AspnetUpload也是操作文件流。但是上傳速度和CPU佔用率都不如老外的商業組件。

做了個測試,LAN內傳1G的文件。ASPUPLOAD上傳速度平均是4.4M/s,CPU佔用10-15,內存佔用700M。SA-FILE也差不多這樣。而AspnetUpload最快也只有1.5M/s,平均是700K/s,CPU佔用15-39,測試環境: PIII800,256M內存,100M LAN。我想AspnetUpload速度慢是可能因為一邊接收文件,一邊寫硬碟。資源佔用低的代價就是降低傳輸速度。但也不得不佩服老外的程序,CPU 佔用如此之低.....。

三、ASP.NET上傳文件遇到的問題

我們在用ASP.NET上傳大文件時都遇到過這樣或那樣的問題。設置很大的maxRequestLength值並不能完全解決問題,因為ASP.NET 會block直到把整個文件載入內存後,再加以處理。實際上,如果文件很大的話,我們經常會見到Internet Explorer顯示 "The page cannot be displayed - Cannot find server or DNS Error",好像是怎麼也catch不了這個錯誤。為什麼?因為這是個client side錯誤,server side端的Application_Error是處理不到的。

四、ASP.NET大文件上傳解決方案

解決的方法是利用隱含的HttpWorkerRequest,用它的GetPreloadedEntityBody 和 ReadEntityBody方法從IIS為ASP.NET建立的pipe里分塊讀取數據。Chris Hynes為我們提供了這樣的一個方案(用HttpMole),該方案除了允許你上傳大文件外,還能實時顯示上傳進度。

Lion.Web.UpLoadMole和AspnetUpload 兩個.NET組件都是利用的這個方案。

方案原理:
Webjx.Com

利用HttpHandler實現了類似於ISAPI Extention的功能,處理請求(Request)的信息和發送響應(Response)。

方案要點:

1. httpHandler or HttpMole
a.在asp.net進程處理request請求之前截獲request對象
b.分塊讀取和寫入數據
c.實時跟蹤上傳進度更新meta信息

2. 利用隱含的HttpWorkerRequest用它的GetPreloadedEntityBody 和 ReadEntityBody方法處理文件流
IServiceProvider provider = (IServiceProvider) HttpContext.Current;
HttpWorkerRequest wr = (HttpWorkerRequest) provider.GetService(typeof(HttpWorkerRequest));
byte[] bs = wr.GetPreloadedEntityBody();
....
if (!wr.IsEntireEntityBodyIsPreloaded())
{
int n = 1024;
byte[] bs2 = new byte[n];
while (wr.ReadEntityBody(bs2,n) >0)
{ 網頁教學網
.....
}
}

3. 自定義Multipart MIME 解析器。
自動截獲MIME分割符。
將文件分塊寫如臨時文件。
實時更新Appliaction 狀態(ReceivingData, Error, Complete) 。

熱點內容
字母大小寫編程 發布:2024-10-10 17:25:40 瀏覽:630
安卓大陸用戶怎麼玩傳說對決 發布:2024-10-10 17:11:56 瀏覽:431
上傳照片登錄 發布:2024-10-10 17:00:27 瀏覽:828
用友nc伺服器的ip地址是什麼 發布:2024-10-10 17:00:27 瀏覽:292
雲伺服器雙線 發布:2024-10-10 16:52:18 瀏覽:163
python不重復隨機數 發布:2024-10-10 16:51:45 瀏覽:824
注塑機密碼多少 發布:2024-10-10 16:48:09 瀏覽:276
ptslinux 發布:2024-10-10 16:42:27 瀏覽:114
Csharp在線編譯 發布:2024-10-10 16:09:58 瀏覽:142
鍵值資料庫存儲圖片 發布:2024-10-10 16:01:22 瀏覽:795