程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> C#編寫的生成縮略圖程序

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

編輯:.NET實例教程

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();
     }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved