• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

当客户端向服务器上传文件的时候,我们有时候是希望点击一个 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>");
}
}

两种方式中<from> 和 <input> 请注意有点不同。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ASP.NET学习(二)发布时间:2022-07-10
下一篇:
asp.net(C#)无限栏目分级程序代码分享(3)核心代码之显示列表发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap