Jquery Ajax upload file .net mvc receive

<input id="FileUpload" multiple type="file" onchange="funChange()"/><br />
    <ul id="ulList">
    </ul>
    <input id="btnShow" type="button" onclick="saveFiles()" value="保存" />
<script type="text/javascript">
        function funChange() {
            var files = $("#FileUpload")[0].files;
            $("#FileUpload").data("jxp", files);
        };

        function saveFiles() {
            $("#ulList").empty();
            var fragment = "";
            var formData = new FormData();
            var cacseFiles = $("#FileUpload").data("jxp");
            if (!cacseFiles) {
                alert ( "There is no upload data in $ .cache!" );
                 return ;
            }
            var length = cacseFiles.length;
            for (var i = 0; i < length; i++) {
                var file = cacseFiles[i];
                formData.append("FileUpload", file);
                var fileName = file.name;
                var fileSize = file.size;
                var fileType = file.type;
                fragment + = "<li> File name:" + fileName + "(File size: <b>" + fileSize + "</ b> bytes) File type:" + fileType + "</ li>" ;
            }
            $("#ulList").html(fragment);
            $.ajax({
                url: '<%=Url.Content("~/Home/GetFiles") %>',
                type: 'POST',
                processData: false,
                contentType: false,
                data: formData,
                success: function (data) {
                    if (data.IsSuccessed) {
                        alert(data.msg);
                    }
                }
            });
        }
    </script>
public ActionResult GetFiles(List<HttpPostedFileBase> FileUpload)
        {
            if (FileUpload == null || FileUpload.Count <= 0)
            {
                return Json ( new {IsSuccessed = false , msg = " File not uploaded! " });
            }
            foreach (var file in FileUpload)
            {
                var fileName = Path.GetFileName(file.FileName);
                var dic = Server.MapPath("~/Junk/");
                if (!Directory.Exists(dic))
                {
                    Directory.CreateDirectory(dic);
                }
                if (fileName == null) continue;
                var path = Path.Combine(dic, fileName);
                file.SaveAs(path);
            }
            return Json ( new {IsSuccessed = true , msg = " Upload succeeded. " });
        }

 

Guess you like

Origin www.cnblogs.com/jxp0202/p/12759746.html