zoukankan      html  css  js  c++  java
  • ASP.NET中采用HTML控件File进行多文件上传

    在asp.net中当服务器控件用习惯了,反而会忘记web中最为平常的get与post表单的用法。

    这一次在项目中碰到个问题,用户要动态的添加fileupload控件实现多文件上传,这个需求

    如果用服务器端控件fileupload就不好实现了。

    于是花了一个小时温习了一下,正常的web表单提交,并将体会记录了下来。当然,高手可

    以直接忽略。呵呵

    1、三个获取页面POST与GET的方法。

         <input type="text" name="name" value="test" />

         Request.Form["name"]   POST接收方式

         Request.QueryString["name"]   GET接收方式

         Request["name"]  POST与GET都可以

         这里要注意一下,如果页面是checkbox组的话,它会接收到勾选了的checkbox,其中value以逗号分隔。

    2、文件上传

         这里是我做的多文件上传的一个实例,因为用HTML控件的文件上传比较特殊一点。

         首先引入JQUERY

    <script type="text/javascript">
            function addFileControl() {
                var fileControlString = '<input name="File1" type="file" /><br />';
                $("#fileArea").append(fileControlString);
            }
        </script>

    页面代码:(注意这里的form没有runat="server",其中enctype="multipart/form-data"是必需的

    <form id="formFileUpload" method="post" action="MiniFileUpload.aspx?type=upload" enctype="multipart/form-data">
        <div id="fileArea">
            <input name="File1" type="file" /><br />
        </div>
        <input type="button" value="添加" id="btnAddUpload" onclick="addFileControl();" />
        <input type="submit" value="上传" />
        </form>

    后台.cs代码如下:(这里是遍历页面所有的file上传控件,如果页面上只有一个上传控件的话,其实可以用

    HttpPostedFile f = Request.Files["name"];

    )的方式获取的。

    private void fileUploadEvent()
            {
                HttpFileCollection fileCollection = Request.Files;
                int filesCount = fileCollection.Count;
                for (int i = 0; i < filesCount; i++)
                {
                    HttpPostedFile file = fileCollection[i];
                    if (!string.IsNullOrEmpty(file.FileName))
                    {
                        if (file.FileName.LastIndexOf("\\") != -1)
                        {
                            string fileName = file.FileName.Substring(file.FileName.LastIndexOf("\\") + 1);//这里的file.FileName其实是上传文件客户端全路径
                            if (fileName.LastIndexOf(".") != -1)
                            {
                                string fileNameExtend = fileName.Substring(fileName.LastIndexOf("."));
                                if (fileNameExtend == ".txt")
                                {
                                    string savePath = AppDomain.CurrentDomain.BaseDirectory + "filesUpload\\" + fileName;
                                    file.SaveAs(savePath);
                                }
                            }
                            Response.Write(fileName + "<br/>");
                        }
                    }
                }
            }
  • 相关阅读:
    file类中,命令记录
    Java中有多个异常, 如何确定捕获顺序(多个catch),先从上到下执行,判断异常的大小,如果包含捕到异常,就进入这个catch,后面的就不再执行
    try....fail....catch...Assert 模式的测试, fail是Junit中的功能
    java.io.FileNotFoundException异常,一是“拒绝访问”,二是“系统找不到指定路径”
    [1]IP地址查询
    支付宝地铁SDK使用失败记录
    食神
    【初等数论】 04
    【初等数论】 03
    【初等数论】 02
  • 原文地址:https://www.cnblogs.com/msql/p/2805191.html
Copyright © 2011-2022 走看看