热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> .Net编程>>正文内容

.Net实现多文件上传

发布时间:2009年06月11日点击数: 未知

HTML代码如下,需要注意的是Form中添加的语句

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
     <title>Upload File</title>
     <script language="javascript" type="text/javascript">
     function addFile(index)
    {
        var obj = document.getElementById('file' + index);
        if(obj == null)
        {
            var strFile = '<span id=\"spFile\" + ' + index + '>文件次序:' + index + '&nbsp;&nbsp;<input id="file' + index + '" name="file" type="file" style=\"width:530px\" onchange=\"addFile(' + ( index + 1 ) + ')\" contentEditable=\"false\" /><br /></span>';
            document.getElementById('divFile').insertAdjacentHTML('beforeEnd', strFile);
        }
    }
    </script>
</head>
<body>
    <form id="form1" runat="server" enctype="multipart/form-data"><%--此处一定要添加上这个==>>enctype="multipart/form-data"--%>
    <div>
        <asp:Button ID="btnUpload" runat="server" Text="上传文件" OnClick="btnUpload_Click" />
        <br />
        <div id="divFile">
        <span id="spFile1">
            文件次序:1&nbsp;&nbsp;<input id="file1" name="file" type="file" style="width:530px" onchange="addFile(2)" contentEditable="false" /><br /></span>
        </div>
    </div>
    </form>
</body>
</html>

btnUpload_Click事件代码

protected void btnUpload_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < Request.Files.Count; i++)
        {
            //关于上传文件大小,默认是4MB,如果需要将此文件扩大
            //请在web.config中<system.web>添加如下语句
            //<httpRuntime maxRequestLength="文件最大值" executionTimeout="3000"/>
            //这里文件最大值的单位是kb,而程序中的大小的单位是b
            //当然这里也可以进行大小的过滤
            if (Request.Files[i].ContentLength > 0)
            {
                //获取文件的扩展名,在这里可以控制上传文件的格式,假设仅仅允许上传rar文件
                string strExtension = System.IO.Path.GetExtension(Request.Files[i].FileName.ToLower());
                if (strExtension != ".rar")
                {
                    //提示用户格式不正确
                    return;
                }

                //最好自己写一个方法保证上传上去的文件名是绝对的唯一,这样可以保证一些不必要的麻烦
                string strFileName = DateTime.Now.ToString("yyyyMMddmmHHss");
                //保存路径,这个一般存放在web.config文件中
                //这个文件夹需要考虑到权限的问题
                string strPath = "c:\\upload\\";
                //上传图片
                Request.Files[i].SaveAs(strPath + strFileName + strExtension);
            }

        }
        
    }

 

本站热点业务

更多模板/案例展示

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作