文件上传到服务器的实例

aspx页面代码:
< div >
            
< input  id ="File1"  type ="file"  runat ="server"   />
            
< asp:Button  ID ="Button1"  runat ="server"  OnClick ="Button1_Click"  Text ="Button"   />
            
< asp:GridView  ID ="GridView1"  runat ="server" >
            
</ asp:GridView >
        
</ div >
cs文件代码:
         public   static  DataTable dataDT  =   new  DataTable();
        
protected   void  Page_Load( object  sender, EventArgs e)
        {
            
if  ( ! Page.IsPostBack)
            {
                dataDT.Columns.Add(
" FileName " typeof ( string ));
                dataDT.Columns.Add(
" FilePath " typeof ( string ));
            }

        }

        
protected   void  Button1_Click( object  sender, EventArgs e)
        {
            upfile up 
=   new  upfile();
            DataRow dr 
=  dataDT.NewRow();

            
string  namepath  =  File1.Value.ToString();
            
string [] names  =  namepath.Split( new   char [] {  ' // '  } );
            dr[
" FileName " =  names[names.Length - 1 ].ToString();
            
string  name  =  up.fileSaveAs(File1,  false );
            dr[
" FilePath " =  name;
            dataDT.Rows.Add(dr);

            GridView1.DataSource 
=  dataDT;
            GridView1.DataBind();
        }
上传类: 网上借鉴来的,嘻嘻~ ,将filetype添加doc即可上传word文档
public   class  upfile
    {
        
private   string  path  =   null ;
        
private   string  fileType  =   null ;
        
private   int  sizes  =   0 ;
        
///  
        
///  初始化变量
        
///  
         public  upfile()
        {
            path 
=   @" /uploadimages/ " // 上传路径
            fileType  =   " jpg|gif|bmp " ;
            sizes 
=   20000000 // 传文件的大小,默认200KB
        }

        
///  
        
///  设置上传路径,如:uploadimages/
        
///  
         public   string  Path
        {
            
set
            {
                path 
=   @" / "   +  value  +   @" / " ;
            }
        }

        
///  
        
///  设置上传文件大小,单位为KB
        
///  
         public   int  Sizes
        {
            
set
            {
                sizes 
=  value  *   1024 ;
            }
        }

        
///  
        
///  设置上传文件的类型,如:jpg|gif|bmp  ///  
         public   string  FileType
        {
            
set
            {
                fileType 
=  value;
            }
        }

        
///  
        
///  上传图片
        
///  
        
///  上传控件名称
        
///  true则以当前时间创建文件夹,false则为设置的文件夹
        
///  返回上传图片的相对路径
         public   string  fileSaveAs(System.Web.UI.HtmlControls.HtmlInputFile name,  bool  creatDirectory)
        {
            
try
            {
                
string  filePath  =   null ;
                
// 以当前时间修改图片的名字或创建文件夹的名字
                 string  modifyFileName  =  DateTime.Now.Year.ToString()  +  DateTime.Now.Month.ToString()  +  DateTime.Now.Day.ToString()  +  DateTime.Now.Hour.ToString()  +  DateTime.Now.Minute.ToString()  +  DateTime.Now.Second.ToString()  +  DateTime.Now.Millisecond.ToString();
                
// 获得站点的物理路径
                 string  uploadFilePath  =   null ;
                
// 如果为true则以当前时间创建文件夹,否则为设置的文件夹
                 if  (creatDirectory)
                {
                    uploadFilePath 
=  System.Web.HttpContext.Current.Server.MapPath( " . " +   @" / "   +  DateTime.Now.Year.ToString()  +  DateTime.Now.Month.ToString()  +  DateTime.Now.Day.ToString()  +   @" / " ;
                }
                
else
                {
                    uploadFilePath 
=  System.Web.HttpContext.Current.Server.MapPath( " . " +  path;
                }
                
// 获得文件的上传的路径
                 string  sourcePath  =  name.Value.Trim();
                
// 判断上传文件是否为空
                 if  (sourcePath  ==   ""   ||  sourcePath  ==   null )
                {
                    message(
" 您没有上传数据呀,是不是搞错了呀! " );
                    
return   null ;
                }
                
// 获得文件扩展名
                 string  tFileType  =  sourcePath.Substring(sourcePath.LastIndexOf( " . " +   1 );
                
// 获得上传文件的大小
                 long  strLen  =  name.PostedFile.ContentLength;
                
// 分解允许上传文件的格式
                 string [] temp  =  fileType.Split( ' | ' );
                
// 设置上传的文件是否是允许的格式
                 bool  flag  =   false ;
                
// 判断上传文件大小
                 if  (strLen  >=  sizes)
                {

                    message(
" 上传的图片不能大于 "   +  sizes  +   " KB " );
                    
return   null ;
                }
                
// 判断上传的文件是否是允许的格式
                 foreach  ( string  data  in  temp)
                {
                    
if  (data  ==  tFileType)
                    {
                        flag 
=   true ;
                        
break ;
                    }
                }
                
// 如果为真允许上传,为假则不允许上传
                 if  ( ! flag)
                {
                    message(
" 目前本系统支持的格式为: "   +  fileType);
                    
return   null ;
                }
                System.IO.DirectoryInfo dir 
=   new  System.IO.DirectoryInfo(uploadFilePath);
                
// 判断文件夹否存在,不存在则创建
                 if  ( ! dir.Exists)
                {
                    dir.Create();
                }
                filePath 
=  uploadFilePath  +  modifyFileName  +   " . "   +  tFileType;
                name.PostedFile.SaveAs(filePath);
                filePath 
=  path  +  modifyFileName  +   " . "   +  tFileType;

                
return  filePath;

            }
            
catch
            {
                
// 异常
                message( " 出现未知错误! " );
                
return   null ;
            }
        }

        
private   void  message( string  msg,  string  url)
        {
            System.Web.HttpContext.Current.Response.Write(
"  alert(' "   +  msg  +   " ');window.location=' "   +  url  +   " " );
        }

        
private   void  message( string  msg)
        {
            System.Web.HttpContext.Current.Response.Write(
"  alert(' "   +  msg  +   " ');  " );
        }
    }

程序说明 :
可以添加多个文件,在下面的列表中会有所显示。  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值