加入收藏 | 设为首页 | 会员中心 | 我要投稿 淮北站长网 (https://www.0561zz.com/)- 数据治理、智能内容、低代码、物联安全、高性能计算!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

利用 C#实现自动生成上传图片插图

发布时间:2023-06-17 11:00:19 所属栏目:语言 来源:互联网
导读:   本文介绍了在C#中实现上传图片后,自动生成缩略图的方法,详细的源代码如下:



  if(fileupload.PostedFile!=null)



  {



   //addto为要添加的属性,a
  本文介绍了在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();
 
       }
 
  把这段代码放到上传图片后的处理代码中,看看是否实现了上传图片自动缩略图功能。
 

(编辑:淮北站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章