asp.net mvc动态生成file控件批量上传文件

转载 2011年01月08日 16:08:00

页面代码:

<body>
    <div>
        <% using (Html.BeginForm("Upload", "File", FormMethod.Post, new { enctype = "multipart/form-data" }))
           { %>
        <div id="FileList">
            <div>
                <input type="file" id="file0" name="file0" />
            </div>
        </div>
        <p>
            <a onclick="AddFile();" style="color: Blue; text-decoration: underline">新增文件</a></p>
        <p>
            <input type="submit" value="上传" /></p>
        <%} %>
    </div>
</body>

 

js代码:(根据用户自动生成上传控件)

        var index = 1;
        function AddFile() {
            var ul = document.getElementById("FileList");
            var inputDiv = document.createElement("div");
            inputDiv.setAttribute("Id", "div" + index);
            var file = document.createElement("input");
            file.setAttribute("type", "file");
            file.setAttribute("id", "file" + index);
            file.setAttribute("name", "file" + index);
            var btnDel = document.createElement("input");
            btnDel.setAttribute("type", "button");
            btnDel.setAttribute("value", "删除");
            btnDel.setAttribute("Id", index);
            btnDel.onclick = function() {
                inputDiv.removeChild(file);
                inputDiv.removeChild(btnDel);
                ul.removeChild(inputDiv);
            }
            inputDiv.appendChild(file);
            inputDiv.appendChild(btnDel);
            ul.appendChild(inputDiv);
            index++;
        }

 

Controller的代码:

       [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Upload()
        {
            foreach (string item in Request.Files)
            {
                HttpPostedFileBase file = Request.Files[item] as HttpPostedFileBase;
                if (file==null&&file.ContentLength == 0)
                    continue;
                //判断Upload文件夹是否存在,不存在就创建
                string path = Server.MapPath("..//Upload");
                if (!System.IO.Directory.Exists(path))
                {
                    System.IO.Directory.CreateDirectory(path);
                }
                path = AppDomain.CurrentDomain.BaseDirectory + "Upload/";
                //获取上传的文件名
                string fileName = Path.GetFileName(file.FileName);
                //限制上传文件的类型
                if (Path.GetExtension(fileName)!=".doc")
                {
                    return Content("<script>alert('只能上传后缀名为.doc的文件');</script>");
                }
                //上传
                file.SaveAs(Path.Combine(path,fileName));
            }
            return Content("<script>alert('上传文件成功');window.history.back();</script>");
        }

asp.net mvc动态生成file控件批量上传文件 .

页面代码:                        { %>                                                   ...
  • sgear
  • sgear
  • 2012年03月20日 10:41
  • 3311

ASP.net MVC FileUpload 文件上传

ASP.net MVC的上传文件功能并没有其他模块(action,Controller)那么智能、好用,不过也不是很复杂。打开vs2008 新建一个MVC工程 如果web项目没有asp.net mvc...
  • ol_beta
  • ol_beta
  • 2010年04月06日 10:40
  • 13484

asp.net mvc 、 ajax 批量上传文件

asp.net mvc 、 ajax 批量上传文件
  • u011587956
  • u011587956
  • 2015年12月28日 16:27
  • 2408

因位笔记之Asp.Net MVC异步上传文件

需求是这样的:把excel和一些其他的数据比如textBox的value select的值上传到服务器上统一进行处理,而且要求是同步,也就是说excel和其他的信息必须同时成功或者都不成功   ...
  • oufu99
  • oufu99
  • 2016年08月16日 11:05
  • 788

ASP.NET MVC 网站开发总结(二)——一个或多个文件的异步或同步上传

简而言之,直接用代码展示如何实现文件的上传,这里需要使用到一个bootstrap的文件上传插件File Input(请自行下载)。   前台页面: DOCTYPE ht...
  • shan1774965666
  • shan1774965666
  • 2016年05月03日 09:37
  • 1052

AspNet MVC4 教学-5:AspNet MVC4 页面动态生成演示

AspNet MVC4 教学-5:AspNet MVC4 页面动态生成演示
  • vinglemar
  • vinglemar
  • 2015年03月24日 11:46
  • 2024

asp.net 文件批量选取,批量上传,带进度条,uploadify3.2

最近朋友请帮忙写一个批量上传图片的程序,之前在做一个系统的时候由于时间有限没有多研究,这次花了些时间,总算是可以了。 在现实文件上传进度的同时还要将这些数据上传到文件夹或者数据库,所以就需要异步...
  • wangyizhi58
  • wangyizhi58
  • 2013年03月22日 10:54
  • 3823

.NET mvc文件上传 常用方法

最近在写手机端接口文件上传时,需要将写好的接口进行测试,写了个测试例子。主要功能是通过Ajax提交上传文件,后台将文件转为二进制 后,返回给前台,再调用另一个WEBAPI接口。网上查询了一些方法,在此...
  • haojuntu
  • haojuntu
  • 2016年01月15日 11:58
  • 1072

基于ASP.NET MVC 4、WebApi、jQuery和FormData的多文件上传方法

介绍了一个基于ASP.NET MVC 4、WebApi、jQuery、ajax和FormData数据对象的多文件上传方法。...
  • hulihui
  • hulihui
  • 2017年05月01日 18:06
  • 2740

ASP.NET MVC实现多文件上传

要实现ASP.NET MVC中的多文件上传,其实最关键的一步是要在input上定义multiple属性,使之可以支持多文件上传。 其实有几个比较重要的地方,form一定要申明enctype=“mul...
  • Brave_Coder
  • Brave_Coder
  • 2016年09月30日 22:32
  • 1209
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp.net mvc动态生成file控件批量上传文件
举报原因:
原因补充:

(最多只允许输入30个字)