萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> C#編寫的生成縮略圖程序

C#編寫的生成縮略圖程序

  if(fileupload.PostedFile!=null)

  {

  //addto為要添加的屬性,aboutfile為文件說明

  string nam = fileupload.PostedFile.FileName ;

  //取得文件名(抱括路徑)裡最後一個"."的索引

  int i= nam.LastIndexOf(".");

  //取得文件擴展名

  string newext =nam.Substring(i);

  //這裡我自動根據日期和文件大小不同為文件命名,確保文件名不重復

  DateTime now = DateTime.Now;

  string newname=now.DayOfYear.ToString()+fileupload.PostedFile.ContentLength.ToString();

  //保存文件到你所要的目錄,這裡是IIS根目錄下的upload目錄.你可以改變.

  //注意: 我這裡用Server.MapPath()取當前文件的相對目錄.在asp.net裡"/"必須用"//"代替,把"upload//"改成"//upload//"就成了取當前文件的絕對目錄了

  fileupload.PostedFile.SaveAs(Server.MapPath("upload//"+newname+newext));

  //得到這個文件的相關屬性:文件名,文件類型,文件大小

  //fname.Text=myFile.PostedFile.FileName;

  //fenc.Text=myFile.PostedFile.ContentType ;

  //fsize.Text=myFile.PostedFile.ContentLength.ToString();

  //下面是生成縮略圖

  System.Drawing.Image image,aNewImage;

  int width,height,newwidth,newheight;

  image=System.Drawing.Image.FromFile(Server.MapPath("upload/"+newname.ToString()+newext.ToString()));

  System.Drawing.Image.GetThumbnailImageAbort callb =new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);

  width=image.Width;

  height=image.Height;

  if(firstpageshow.SelectedValue.ToString()=="1"&&fenlei.SelectedValue.ToString()=="5")

  {

  newwidth=203;newheight=86;

  newheight=height*newwidth/width;

  }

  else if(isweekman.SelectedValue.ToString()=="1")

  {

  newwidth=171;newheight=111;

  newheight=height*newwidth/width;

  }

  else if(firstpageshow.SelectedValue.ToString()=="1"&&fenlei.SelectedValue.ToString()=="3")

  {

  newwidth=171;newheight=111;

  newheight=height*newwidth/width;

  }

  else

  {

  newwidth=62;newheight=80;

  newheight=height*newwidth/width;

  }

  aNewImage=image.GetThumbnailImage(newwidth,newheight,callb,new System.IntPtr());

  aNewImage.Save(Server.MapPath("upload//"+"small_"+newname+newext));

  image.Dispose();

  //生成縮略圖 生成並保存完畢,保存名是在原圖名前加了一個small_。

  pic="upload/"+newname.ToString()+newext.ToString();

 

  smallpic="upload/small_"+newname.ToString()+newext.ToString();

copyright © 萬盛學電腦網 all rights reserved