多文件上传方法

本文介绍了一个文件上传功能的实现方式,包括使用JavaScript动态增加文件输入框、通过ASP.NET进行文件类型的验证以及文件大小的限制,并最终将文件保存到服务器。

1.js代码 

function uploadFile() {
            var str = '<br/><INPUT type="file" size="30" NAME="File">'
            document.getElementById('MyFile').insertAdjacentHTML("beforeEnd", str)
        }

 

2.页面含义html代码(页面必须含有一个runat=“server”的file对象)

   <p id="MyFile"> <input type="file" size="30" name="File" runat="server"></p> <input type="button" value="增加(Add)" onclick="uploadFile()">

3.后台页面代码

   public bool attachfileupload()
        {
            Hashtable ht = new Hashtable();
            HttpFileCollection files = HttpContext.Current.Request.Files;
            for (int iFile = 0; iFile < files.Count; iFile++)
            {
                HttpPostedFile postedFile = files[iFile];
                string filePathName = postedFile.FileName;
                string fileName = Path.GetFileName(filePathName);
                string fileExtension = Path.GetExtension(filePathName);
                if (fileExtension == ".jpg" || fileExtension == ".bmp" || fileExtension == ".gif" || fileExtension == ".png" || fileExtension == ".txt" || fileExtension == ".docx" || fileExtension == ".doc" || fileExtension == ".xls" || fileExtension == ".rar")
                {
                }
                else
                {
                    ClientScript.RegisterStartupScript(Page.GetType(), "filetype", "alert('"+filePathName+"类型错误,请选择正确的文件类型')", true);
                    return false;
                }
            }
            //文件类型正确
            //文件大小
            for (int iFile = 0; iFile < files.Count; iFile++)
            {
                HttpPostedFile postedFile = files[iFile];
                string filePathName = postedFile.FileName;
                string fileName = Path.GetFileName(filePathName);
                string fileExtension = Path.GetExtension(filePathName);
                if (postedFile.ContentLength < 5120000)
                {
                }
                else
                {
                    ClientScript.RegisterStartupScript(typeof(string), "filetye", "alert('"+filePathName+"文件大小超出范围')", true);
                    return false;
                }
            }
            //上传文件
            for (int iFile = 0; iFile < files.Count; iFile++)
            {
                HttpPostedFile postedFile = files[iFile];
                string filePathName = postedFile.FileName;
                string fileName = Path.GetFileName(filePathName);
                string fileExtension = Path.GetExtension(filePathName);
                string fileid = System.Guid.NewGuid().ToString()  + fileExtension;

                postedFile.SaveAs(Server.MapPath(@"~/upload/" + fileid));

            }

 

 

                    

转载于:https://www.cnblogs.com/baozi/p/3222626.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值