C#編寫的產生縮圖程式

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.