easyuiForm提交:

前台代码:

<form id="importFileForm" method="post" enctype="multipart/form-data" style="display:">
            <table style="margin:5px;height:70px;">
                <tr>
                    <td></td>
                    <td width="5px;"></td>
                    <td><input class="easyui-filebox" id="fileImport" data-options="buttonText:'选择',prompt:'请选择文件...'"  name="fileImport" style="width:260px;">
                    </td>
                    <td><a id="uploadFile" class="easyui-linkbutton" data-options="iconCls:'icon-ok'" href="javascript:void(0)">上传</a></td>
                </tr>
                <tr>
                    <td colspan="4">
                        <label id="uploadInfo" />
                    </td>
                </tr>
            </table>
        </form>
    <script>
        //导入文件
        $("#uploadFile").click(function () {
            var formData = new FormData($("#importFileForm")[0]);
            //调用apicontroller后台action方法,将form数据传递给后台处理。contentType必须设置为false,否则chrome和firefox不兼容
            $.ajax({
                url: "http://localhost:12745/api/easyuiUpload/PostExcelData",
                type: 'POST',
                data: formData,
                async: false,
                cache: false,
                contentType: false,
                processData: false,
                success: function (returnInfo) {
                    //上传成功后将控件内容清空,并显示上传成功信息
                    document.getElementById('fileImport').value = null;
                    document.getElementById('uploadInfo').innerHTML = "<span style='color:Red'>" + returnInfo + "</span>";
                },
                error: function (returnInfo) {
                    //上传失败时显示上传失败信息
                    document.getElementById('uploadInfo').innerHTML = "<span style='color:Red'>" + returnInfo + "</span>";
                }
            });
           
        })
    </script>

 后台代码:

[HttpPost]
public string PostExcelData() { string info = string.Empty; try { //获取客户端上传的文件集合 HttpFileCollection files = System.Web.HttpContext.Current.Request.Files; //判断是否存在文件 if (files.Count > 0) { //获取文件集合中的第一个文件(每次只上传一个文件) HttpPostedFile file = files[0]; //定义文件存放的目标路径 string targetDir = System.Web.HttpContext.Current.Server.MapPath("~/FileUpLoad/Product"); //创建目标路径 if (!Directory.Exists(targetDir)) { Directory.CreateDirectory(targetDir); } //ZFiles.CreateDirectory(targetDir); //组合成文件的完整路径 string path = System.IO.Path.Combine(targetDir, System.IO.Path.GetFileName(file.FileName)); //保存上传的文件到指定路径中 file.SaveAs(path); info = "上传成功"; } else { info = "上传失败"; } } catch { info = "上传失败"; } return info; }

  

 easyui另类Form提交(前台页不需要form表单):

前台代码:

<script type="text/javascript">

        $.support.cors = true;
        var ApiUrl = "http://localhost:12745/";
        $(function () {
            $("#upload").click(function () {
                $("#imgWait").show();
                var formData = new FormData();
                formData.append("myfile", $("#file1").next().find('input[id^="filebox_file_id_"]')[0].files[0]);
                formData.append("myfile2", $("#file2").next().find('input[id^="filebox_file_id_"]')[0].files[0]);
                $.ajax({
                    url: ApiUrl + "api/FileManage/UploadFile",
                    type: "POST",
                    data: formData,
                    /**
                    *必须false才会自动加上正确的Content-Type
                    */
                    contentType: false,
                    /**
                    * 必须false才会避开jQuery对 formdata 的默认处理
                    * XMLHttpRequest会对 formdata 进行正确的处理
                    */
                    processData: false,
                    success: function (data) {
                        if (data.status == "true") {
                            alert("上传成功!");
                        }
                        if (data.status == "error") {
                            alert(data.msg);
                        }
                        $("#imgWait").hide();
                    },
                    error: function () {
                        alert("上传失败!");
                        $("#imgWait").hide();
                    }
                });
            });
        });
    </script>
</head>
<body>
    <!--选择文件:<input type="file" id="file1" /><br />-->
    <input class="easyui-filebox" id="file1" data-options="prompt:'Choose another file...'" style="width:150px">
    <input class="easyui-filebox" id="file2" data-options="prompt:'Choose another file...'" style="width:150px">
    <input type="button" id="upload" value="上传" />
    <img src="wait.gif" style="display:none" id="imgWait" />
</body>

  后台代码:

[HttpPost]
        public HttpResponseMessage UploadFile()
        {
            HttpResponseMessage result = null;
            var httpRequest = System.Web.HttpContext.Current.Request;
            if (httpRequest.Files.Count > 0)
            {
                try
                {
                    string url = string.Empty;
                    foreach (string file in httpRequest.Files)
                    {

                        var postedFile = httpRequest.Files[file];
                        var filePath = System.Web.HttpContext.Current.Server.MapPath("~/Files/");
                        if (!Directory.Exists(filePath))
                        {
                            Directory.CreateDirectory(filePath);
                        }
                        postedFile.SaveAs(filePath + postedFile.FileName);
                        url += "Files/" + postedFile.FileName + ",";
                    }

                    result = Request.CreateResponse(HttpStatusCode.OK, url.Substring(0, url.Length - 1));

                }
                catch (Exception ex)
                {
                    result = Request.CreateResponse(HttpStatusCode.OK, "error:" + ex.Message);
                }

            }
            else
            {
                result = Request.CreateResponse(HttpStatusCode.OK, "0");
            }
            return result;
        }