首页 > 开发 > 综合 > 正文

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

2024-07-21 02:17:41
字体:
来源:转载
供稿:网友


收集最实用的网页特效代码!

 

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表