在.net中上傳圖片的實現

private void btnUp_Click()
{
string expicName="jpg,img,gif,pci,bmp,pdf";//允許上傳的圖片的擴展名
string[] strarray=expicName.Split(',');//把expicname的字符串以逗號(,)分隔,放到數組中
     
string picstr,exfileName,exfileNamepot;
string ftime,fsecond,fmonth,fyear,fminute,fdate,fnewName,fallName;
picstr=File1.PostedFile.FileName;//要上傳的文件全路徑
filename=Path.GetFileName(picstr);//原文件名,包括擴展名
FileInfo fname=new FileInfo(picstr);//複製 刪除 移動和打開文件的實例方法
exfileName=fname.Extension;//獲取文件的擴展名,例如(.jpg)
exfileNamepot=exfileName.Substring(1).ToLower();//獲得exfileName字符串中從1開始到結束的字符串(獲得擴展名除“.”的字符)
int picrange=this.File1.PostedFile.ContentLength / 1024; //上傳的文件大小(kb)
      
if(picrange>6300)
 
{
 Response.Write("<script>alert('對不起,圖片大小不能超過5MB');</script>");
}
      
else
{//判斷擴展名是否合法
foreach(string k in strarray)
 {
 if(exfileNamepot.ToString().Trim()==k.ToString().Trim())
  {
  IsNo=(IsNo||true);//如果是合法擴展名的圖片,則IsNo爲true;否則爲false;
  break;
  }
 }
if(!(bool)IsNo)
{//如果不是合法圖片的擴展名
Response.Write("<script>alert('對不起,圖片格式不合法,//n圖片格式應爲jpg、bmp、gif格式');</script>");
}
else
{//如果是合法圖片格式
fnewName=fyear+fmonth+fdate+ftime+fminute+fsecond;//新的文件名(無擴展名)
fallName=fnewName+exfileName;//新的文件名(包含擴展名)

path=Server.MapPath("news_pic//");//文件夾new_pic的物理路徑
if( Directory.Exists(path)==false)//判斷文件夾是否存在
Directory.CreateDirectory (path) ;//創建文件夾
path+=fallName;//上傳後的文件物理路徑
if( File.Exists(path)==true)//判斷文件是否存在
      
{
Response.Write("<script>alert('該圖片文件名已經存在')</script>");
      
}
else
{
File1.PostedFile.SaveAs(path);//將要上傳的文件保存到指定的路徑下和文件名,path爲物理路徑
path="news_pic/"+fallName;//保存到數據庫裏的文件路徑
connstr="insert into news(標題,摘自,內容,發表時間,圖片,類別)VALUES('"+biaoti.Text+"','"+zhaizi.Text+"','"+neirong2+"','"+now.ToString()+"','"+path+"','"+kind.SelectedValue+"')";
mycommand=new SqlCommand(connstr,myconnection);
mycommand.ExecuteNonQuery();
Response.Write("<script>alert('新聞發佈成功!')</script>");
    
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章