js上传多文件,并显示下载

  • 前端页面
<body>
    <label>多文件上传框</label><br>
    <input type="file" id="file" multiple><br>
    <button id="but">点击提交</button>
       <div id="QWER"></div>
</body>
  • 引用js
<script src="~/jquery-3.3.1.min.js"></script>
  • JS部分

第一种:

<script>
    $(function () {
        $("#but").click(function () {
            var formData = new FormData();
            var aa = $("#file")[0].files.length;
            var aaa = $("#file")[0];
            for (var i = 0; i < aa; i++) {
                formData.append("file[" + i + "]", aaa.files[i]);
            }
            var xhr = new XMLHttpRequest();
            xhr.open('POST', "/Home/FileUpload");
            xhr.onload = function () {
                if (xhr.status === 200) {
                    var result = JSON.parse(xhr.response);
                    if (result.code == 200) {
                        var RESULT1 = result.src.split('|')
                        console.log(RESULT1)
                        for (var i in RESULT1) {
                            var RESULT2 = "<a href=\"" + RESULT1[i] + "\">" + RESULT1[i].split('/')[7] + "</a><br/>";
                            $("#QWER").append(RESULT2)
                        }
                     

                    }
                }
            };
            xhr.send(formData);
            file.remove();

        })
    })
</script>

第二种:

 $("#but").click(function () {
            var formData = new FormData();
            var aa = $("#file")[0].files.length;
            var aaa = $("#file")[0];
            for (var i = 0; i < aa; i++) {
                formData.append("file[" + i + "]", aaa.files[i]);
            }
            $.ajax({
                url: '@Url.Action("Moban1", "Home")',
                type: "POST",
                cache: false,
                processData: false,
                contentType: false,
                data: formData,
                success: function (datee) {
                    if (datee.code==200) {
                        console.log(datee)
                        var RESULT1 = datee.src.split('|')
                        for (var i in RESULT1) {
                            var RESULT2 = "<a href=\"" + RESULT1[i] + "\">" + RESULT1[i].split('/')[7] + "</a><br/>";
                            $("#QWER").append(RESULT2)
                        }
                    }
                }
               
            })
        })
  • 后端

引用

using System.IO;
    /// <summary>
        /// 展示页面
        /// </summary>
        /// <returns></returns>
        public ActionResult Http()
        {
            return View();
        }
        /// <summary>
        /// 文件处理
        /// </summary>
        /// <param name="ceshi"></param>
        /// <returns></returns>
        public ActionResult FileUpload(HttpPostedFileBase ceshi)
        {
            if (Request.Files.Count > 0)
            {
                try
                {
                    string SRC = "";
                    string FileName = "";
                    for ( int i = 0; i < Request.Files.Count; i++)
                    {
                        HttpPostedFileBase file = Request.Files[i];
                        string extension = Path.GetExtension(file.FileName);
                        string fileName = Path.GetFileName(file.FileName);
                        file.InputStream.Position = 0;
                        var aPath = DateTime.Now.ToString("yyyy/MM/dd") + "/" + DateTime.Now.ToString("yyyyMMddHHmm") + "  " + fileName;
                        var excelUploadPath = "~/Files/Upload/file/" + aPath;
                        //如果文件夹不存在,创建一个文件夹
                        if (!Directory.Exists(Path.GetDirectoryName(Server.MapPath(excelUploadPath))))
                        {
                            Directory.CreateDirectory(Path.GetDirectoryName(Server.MapPath(excelUploadPath)));
                        }
                        //第一种
                        using (FileStream fs = new FileStream(Server.MapPath(excelUploadPath), FileMode.Create, FileAccess.Write))
                        {
                            file.InputStream.CopyTo(fs);
                            fs.Close();
                        }
                        //第二种:另外一种文件写入方法
                           //FileStream fs = new FileStream(Server.MapPath(excelUploadPath), FileMode.Create, FileAccess.Write);
                           //file.InputStream.CopyTo(fs);
                          //fs.Dispose();
                          //fs.Close();
                        SRC = SRC + "/Files/Upload/file/" + aPath + "|";
                        FileName = FileName + DateTime.Now.ToString("yyyyMMdHHmm") + " " + fileName + "|";
                    }
                    return Json(new { code = 200, src = SRC.Substring(0, SRC.Length - 1), fileName = FileName.Substring(0, FileName.Length - 1) });
                }
                catch (Exception ex)
                {
                    return Json(new { code = 500, msg = ex.Message });
                }
            }
            else
            {
                return Json(new { code = 500, msg = "请选择要上传的文件" });
            }
        }
  • 结果图
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值