資源描述:
《asp.net 圖片上傳的一個類庫的源碼》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、asp.Net圖片上傳的一個類庫的源碼一般情況.圖片是不直接存到數(shù)據(jù)庫的.而只是存了圖片的名稱.存放圖片的文件夾路徑一般是固定的.所以這時你只需要從數(shù)據(jù)庫拿出圖片名稱.直接在頁面中這么寫就OK了:">在上傳的時候.首先當(dāng)然是要判斷上傳文件是不是圖片了.不建議去判斷文件的后綴名.用這個方法:if(this.myfile.PostedFile.ContentType.ToString().ToLower().IndexOf("image")<0){//
2、非圖片文件}在對圖片刪除的時候.先去數(shù)據(jù)庫里刪除相關(guān)圖片信息.然后再用:System.IO.File.Delete(@"C:cccdddeee.gif");這里一定要用絕對路徑.上傳圖片到服務(wù)器上是網(wǎng)站開發(fā)中很常用的功能,它的實現(xiàn)也很簡單,可以新建一個上傳類UpLoadAndSaveImage,這個類中包含三個函數(shù)UpLoadAndSave,CreateFilePath,SaveToServer。使用時調(diào)用下面的UpLoadAndSave函數(shù)就可以了,該函數(shù)第一個參數(shù)為要上傳的圖片數(shù)據(jù),第二個參數(shù)為
3、上傳的虛擬路徑(相對路徑),第三個參數(shù)為上傳圖片的格式,第四個參數(shù)為上傳的物理路徑。在這個函數(shù)中調(diào)用CreateFilePath函數(shù)產(chǎn)生隨機(jī)的圖片名稱,最后再調(diào)用SaveToServer保存圖片到服務(wù)器上。publicstringUpLoadAndSave(byte[]data,refstringvirPath,stringfext,stringphysicPath){//返回文件物理地址,修改虛擬地址if(data==null
4、
5、virPath==null
6、
7、fext==null
8、
9、physicPath
10、==""){thrownewException("非法參數(shù)");}stringrtnValue=SaveToServer(data,fext,physicPath,data.Length);virPath+=rtnValue;physicPath+=rtnValue;returnphysicPath;}privatestringCreateFilePath(stringfext){stringfilePath="";Randomrd=newRandom();filePath+=DateTime.Now.Y
11、ear.ToString("0000");filePath+=DateTime.Now.Month.ToString("00");filePath+=DateTime.Now.Date.ToString("00");filePath+=DateTime.Now.Hour.ToString("00");filePath+=DateTime.Now.Minute.ToString("00");filePath+=DateTime.Now.Second.ToString("00");filePath+=Date
12、Time.Now.Millisecond.ToString("00");filePath+=rd.Next(99).ToString("00");filePath+="."+fext;returnfilePath;}privatestringSaveToServer(byte[]data,stringfext,stringphysicPath,intfileLen){stringfilePath=CreateFilePath(fext);stringrtnValue=filePath;filePath=f
13、ilePath.Insert(0,@physicPath);if(File.Exists(filePath)){filePath=CreateFilePath(fext);rtnValue=filePath;}FileStreamfs=newFileStream(filePath,FileMode.CreateNew);fs.Write(data,0,fileLen);fs.Close();returnrtnValue;}//在其他頁面調(diào)用該上傳類,見下面的實例:UpLoadAndSaveImageupl
14、oad=newUpLoadAndSaveImage();try{stringvirPath="UploadFiles/";stringphysicPath=Server.MapPath(Request.ApplicationPath+"/"+"UploadFiles/");stringfext=this.File1.PostedFile.FileName;if(fext.Length==0){return;}fext=Path