資源描述:
《文件上傳突破四兆》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第3講 名片信息作成真理:對數(shù)據(jù)庫的插入、修改或者刪除一定要到SQLServer中看一看。1、知識點(diǎn)?FileUpload控件·文件名·SaveAs()方法·文件大小突破4M?Button屬性·CommandArgument?ViewState對象·添加新項(xiàng)·獲取某項(xiàng)的值·刪除項(xiàng)2、本節(jié)課任務(wù)—使用FileUpload控件上傳文件l第22頁畫面詳細(xì)l頁面的圖形顯示l用語言描述頁面的功能l項(xiàng)目一覽l頁面上有哪些控件,控件的作用l項(xiàng)目移送表l控件的數(shù)據(jù)來源,與數(shù)據(jù)庫的關(guān)系limgFront和imgBack與表TRN_MID中的MIDFRONT和M
2、IDBACK字段相關(guān)聯(lián)l處理式樣l在那個(gè)事件中編程,實(shí)現(xiàn)什么功能.l具體實(shí)現(xiàn)l涉及到引用的類和方法l方法參數(shù)和返回值的說明lCommonOperation.GenerateFileName()3、如何測試?如何屏蔽login.aspx頁面??打開數(shù)據(jù)庫CardDB中的TRN_MID表,(TRN_MID中的MIDFRONT和MIDBACK,見項(xiàng)目移送表—教材24頁)4、知識擴(kuò)展★★★Button的CommandArgument屬性?選中btnPost按鈕,屬性窗口àCommandArgument初始值是1.l如何判斷Button的CommandA
3、rgument屬性是何種數(shù)據(jù)類型?·在按鈕Click事件中寫代碼btnPost.CommandArgumentl如何實(shí)現(xiàn)點(diǎn)奇數(shù)次是正面,偶數(shù)次是背面?·在按鈕Click事件中寫代碼修改btnPost.CommandArgument的值?簡單總結(jié):程序中主要是對btnPost.CommandArgument的初始化,讀取值和寫值(值的修改)5、文件上傳控件FileUploadl上傳后的文件名lCommonOperation.GenerateFileName()l獲取文件的擴(kuò)展名(詳細(xì)見下頁)l百度:asp.net獲取文件擴(kuò)展名l第一項(xiàng):小問題,如
4、何獲得上傳文件的擴(kuò)展名.NET技術(shù)/ASP.NET-CSDN...p文件上傳的調(diào)試:£先將fileName設(shè)置為常量進(jìn)行調(diào)試£測試能否正確上傳£如果文件大小超過4M,則需要經(jīng)過特殊設(shè)置才能上傳.(跳過去見下下頁)6、獲取文件的擴(kuò)展名—查找出錯(cuò)根源?try:???str=str.Remove(0,str.LastIndexOf("."))?File1.PostedFile.ContentType.ToString();?System.IO.Path.GetExtension("路徑")p思想:?首先測試常量能否上傳,然后將文件名和擴(kuò)展名分別顯示在
5、TextBox中.7、文件大小突破4M的解決方案p解決方案:?需要在WebConfig里面修改配置,默認(rèn)的最大請求長度是4兆,但是可以改的。如下:???£捎帶知識點(diǎn):加注釋£先加注釋,再點(diǎn)取消注釋按鈕8、ViewState對象n不同點(diǎn):üViewState相當(dāng)于一個(gè)動(dòng)態(tài)對象數(shù)組(集合)üViewSta
6、te是一個(gè)頁面內(nèi)的全局?jǐn)?shù)組üSession是整個(gè)項(xiàng)目的全局?jǐn)?shù)組¥添加和修改子項(xiàng):ViewState["imgFront"]=“hello”n相同點(diǎn):?Session和ViewState的用法基本相同9、文件上傳流程圖10、System.IO中的和文件目錄有關(guān)的三個(gè)類:File類、Directory類、Path類File類?publicstaticboolExists(stringpath);?publicstaticvoidDelete(stringpath);?publicstaticvoidCopy(stringsourceFileName
7、,stringdestFileName,booloverwrite);?publicstaticFileStreamOpen(stringpath,FileModemode)?publicstaticFileStreamCreate(stringpath)?publicstaticvoidMove(stringsourceFileName,stringdestFileName);Directory類?publicstaticDirectoryInfoCreateDirectory(stringpath);?publicstaticvoidDel
8、ete(stringpath,boolrecursive);?publicstaticvoidMove(stringsourceDirName,str