【转】asp.net input上传文件的几种方式

当客户端向服务器上传文件的时候,我们有时候是希望点击一个 button 或是 a 标签的时候,选择文件的对话框将自动弹出,

< input type = " file "  id = " file "  style = " display:none " >< br  />
< input type = " button "  value = " click "  onClick = " ok() " >< br  />

javascript. ok方法:

function ok()

    var s  =  document.getElementById( " file " ); 
    s.style.display  =   " block " ;
    s.click  =   true ; 
    var str  =  s.value;
    alert(str);
}

上面 str 便是客户端选择上传文件的路径,

但是,在asp.net的中使用

< input type = ' file '   />
控件上传文件对文件的大小有限制,默认情况下大概在4m左右,如果上传再大的文件时就会出页面无法显示的错误.

修改web.config文件中的参数可以设置该控件上传文件的大小,web.config中配置如下:在<system.web>节点下增加

< httpRuntime maxRequestLength = " 409600 " />

可以来设置

< input type = ' file '   />

控件上传文件的大小,maxRequestLength以字节位单位

第一种上传方式:(纯HTML上传或是异文件上传)

页面文件:
< form id = " form1 "  method = " post "  enctype = " multipart/form-data "  action = " Details.aspx " >
    < input id = " testId "  type = " file "  name = " testName " />
    < input id = " testSubmit "  type = " submit "  value = " 上传 "   />
</ form >

后台代码:
protected   void  Page_Load( object  sender, EventArgs e)
{
     /*  Files will be upload when postback  */
     if  ( ! IsPostBack)
    {
         if  ( this .Request.Files.Count  >   0 )
        {
            HttpPostedFile f  =   this .Request.Files[ 0 ];
             string  fname  =  f.FileName;
             /*  startIndex  */
             int  index  =  fname.LastIndexOf( " // " )  +   1 ;
             /*  length  */
             int  len  =  fname.Length  -  index;
            fname  =  fname.Substring(index, len);
             /*  save to server  */
            f.SaveAs( this .Server.MapPath( " ~/Files/ "   +  fname));
            Response.Write( " <script type='text/javascript'>alert('Success!');</script> " );
        }
    }
}

第二种方式:(runat="server")

页面文件:
< input type = " file "  runat = " server "  id = " testFile " />
< input type = " submit "  id = " testSubmit "  value = " 上传 "   />
< br  />

后台代码:
if  ( ! IsPostBack)
{
/*  input upload file  */
if  (Request.Files.Count  >   0 )
{
    HttpPostedFile f  =  Request.Files[ 0 ];
     string  fname  =  f.FileName;
     int  index  =  fname.LastIndexOf( " // " );
     int  len  =  fname.Length  -  index  -   1 ;
    fname  =  fname.Substring(index  +   1 , len);
    f.SaveAs( this .Server.MapPath( " ~/Files/ "   +  fname));
    Response.Write( " <script type='text/javascript'>alert('Success!');</script> " );
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值