ASP.NET图片上传方法总结

1 使用标准HTML来进行图片上传

前台代码:

复制代码
< body >  
     < form  id ="form1"  runat ="server" >  
     < div >  
         < table >  
             < tr >  
                 < td  colspan ="2"  style ="height: 21px"   >  
                    使用标准HTML来进行图片上传 </ td >  
             </ tr >  
             < tr >  
                 < td  style ="width: 400px" >  
                     < input  id ="InputFile"  style ="width: 399px"  type ="file"  runat ="server"   /></ td >  
                 < td  style ="width: 80px" >  
                     < asp:Button  ID ="UploadButton"  runat ="server"  Text ="上传图片"  OnClick ="UploadButton_Click"   /></ td >  
             </ tr >  
             < tr >  
                 < td  colspan ="2"   >  
                     < asp:Label  ID ="Lb_Info"  runat ="server"  ForeColor ="Red" ></ asp:Label ></ td >                  
             </ tr >  
         </ table >      
     </ div >  
     </ form >  
</ body >
复制代码


后台代码:

 

复制代码
using  System; 
using  System.Data; 
using  System.Configuration; 
using  System.Web; 
using  System.Web.Security; 
using  System.Web.UI; 
using  System.Web.UI.WebControls; 
using  System.Web.UI.WebControls.WebParts; 
using  System.Web.UI.HtmlControls; 

public   partial   class  _Default : System.Web.UI.Page  

     protected   void  Page_Load( object  sender, EventArgs e) 
    { 

    } 
     protected   void  UploadButton_Click( object  sender, EventArgs e) 
    { 
         string  uploadName  =  InputFile.Value; // 获取待上传图片的完整路径,包含文件名称 
         // string uploadName = InputFile.PostedFile.FileName; 
         string  pictureName  =   "" ; // 上传后的图片名,以当前时间为文件名称,确保文件名称没有反复 
         if  (InputFile.Value  !=   "" ) 
        { 
             int  idx  =  uploadName.LastIndexOf( " . " ); 
             string  suffix  =  uploadName.Substring(idx); // 获得上传的图片的后缀名 
            pictureName  =  DateTime.Now.Ticks.ToString()  +  suffix; 
        } 
         try  
        { 
             if  (uploadName  !=   "" ) 
            { 
                 string  path  =  Server.MapPath( " ~/images/ " ); 
                InputFile.PostedFile.SaveAs(path  +  pictureName); 
            } 
        } 
         catch  (Exception ex) 
        { 
            Response.Write(ex); 
        } 
    } 
}

复制代码


2 单文件上传

        这是最主要的文件上传,在asp.net1.x中没有这个FileUpload控件,唯独html的上传控件,那时候要把html控件转化为server控件,非常不好用。事实上全部文件上传的漂亮效果都是从这个FileUpload控件衍生,第一个样例尽管简单却是根本。

前台代码:

复制代码
< body >  
     < form  id ="form1"  runat ="server" >  
     < div >  
         < table  style ="width: 90%" >  
             < tr >  
                 < td  style ="width: 159px"  colspan =2 >  
                     < strong >< span  style ="font-size: 10pt" > 最简单的单文件上传 </ span ></ strong ></ td >  
             </ tr >  
             < tr >  
                 < td  style ="width: 600px" >  
                     < asp:FileUpload  ID ="FileUpload1"  runat ="server"  Width ="600px"   /></ td >  
                 < td  align =left >  
                     < asp:Button  ID ="FileUpload_Button"  runat ="server"  Text ="上传图片"  OnClick ="FileUpload_Button_Click"   /></ td >  
             </ tr >  
             < tr >  
                 < td  colspan =2 >  
                     < asp:Label  ID ="Upload_info"  runat ="server"  ForeColor ="Red"  Width ="767px" ></ asp:Label ></ td >  
             </ tr >  
         </ table >      
     </ div >  
     </ form >  
</ body >
复制代码

后台代码:

复制代码
using  System; 
using  System.Data; 
using  System.Configuration; 
using  System.Web; 
using  System.Web.Security; 
using  System.Web.UI; 
using  System.Web.UI.WebControls; 
using  System.Web.UI.WebControls.WebParts; 
using  System.Web.UI.HtmlControls; 

public   partial   class  _Default : System.Web.UI.Page  

     protected   void  Page_Load( object  sender, EventArgs e) 
    { 

    } 
     protected   void  FileUpload_Button_Click( object  sender, EventArgs e) 
    { 
         try  
        { 
             if  (FileUpload1.PostedFile.FileName  ==   "" ) 
             // if (FileUpload1.FileName == "") 
             // if (!FileUpload1.HasFile)      // 获取一个值,该值指示 System.Web.UI.WebControls.FileUpload 控件是否包含文件。包含文件,则为 true;否则为 false。 
            { 
                 this .Upload_info.Text  =   " 请选择上传文件! " ; 
            } 
             else  
            { 
                 string  filepath  =  FileUpload1.PostedFile.FileName;   // 得到的是文件的完整路径,包含文件名称,如:C:\Documents and Settings\Administrator\My Documents\My Pictures\20022775_m.jpg 
                 // string filepath = FileUpload1.FileName;                // 得到上传的文件名称20022775_m.jpg 
                 string  filename  =  filepath.Substring(filepath.LastIndexOf( " \\ " )  +   1 ); // 20022775_m.jpg 
                 string  serverpath  =  Server.MapPath( " ~/images/ " )  +  filename; // 取得文件在server上保存的位置C:\Inetpub\wwwroot\WebSite1\images\20022775_m.jpg 
                FileUpload1.PostedFile.SaveAs(serverpath); // 将上传的文件另存为 
                 this .Upload_info.Text  =   " 上传成功! " ; 
            } 
        } 
         catch  (Exception ex) 
        { 
             this .Upload_info.Text  =   " 上传发生错误!原因是: "   +  ex.ToString(); 
        } 
    } 
}

复制代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值