当客户端向服务器上传文件的时候,我们有时候是希望点击一个 button 或是 a 标签的时候,选择文件的对话框将自动弹出,
<
input type
=
"
file
"
id
=
"
file
"
style
=
"
display:none
"
><
br
/>
< input type = " button " value = " click " onClick = " ok() " >< 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);
}
{
var s = document.getElementById( " file " );
s.style.display = " block " ;
s.click = true ;
var str = s.value;
alert(str);
}
上面 str 便是客户端选择上传文件的路径,
但是,在asp.net的中使用
<
input type
=
'
file
'
/>
修改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> " );
}
}
}
< 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> " );
}
}
< 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> " );
}
}