您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 编程语言综合 >> 正文

C#编写的生成缩略图程序

作者:佚名    责任编辑:admin    更新时间:2022-06-22

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