Jquery 剑道上传使用ajaxpost上传MVC内核中的文件

Jquery 剑道上传使用ajaxpost上传MVC内核中的文件,jquery,ajax,asp.net-core,kendo-ui,kendo-upload,Jquery,Ajax,Asp.net Core,Kendo Ui,Kendo Upload,我在MVC内核中使用了kendo upload,使用Ajax Post上传文件。我可以调用API url,但数据为空。我是否正确地传递了数据?这是我的密码 <form id="uploadForm" action='@Url.Action("UploadFile", new { RmclientAccid = "1" , AsAtDate = "testdate"})' method="post"> @(Html.Kendo().Upload()

我在MVC内核中使用了kendo upload,使用Ajax Post上传文件。我可以调用API url,但数据为空。我是否正确地传递了数据?这是我的密码

<form id="uploadForm" action='@Url.Action("UploadFile", new { RmclientAccid = "1"  , AsAtDate = "testdate"})' method="post">
        @(Html.Kendo().Upload()
                        .HtmlAttributes(new { aria_label = "files" })
                        .Name("fileUpload")
        )
        <p style="padding-top: 1em; text-align: right">
            <button type="submit" class="k-button k-primary">Submit</button>
        </p>
    </form>

$(function () {
            $("#uploadForm").submit(function (e) {
                e.preventDefault();
                var upload = $("#fileUpload").data("kendoUpload"),
                    files = upload.getFiles(),
                    myFile = files[0];
                console.log(files);
                $.ajax({
                    type: 'POST',
                    url: '/RmReportTasks/UploadFile/',
                    dataType: 'json', 
                    processData: false,
                    contentType: false,
                    data: {
                        fileUpload: files[0].rawFile,
                        RmclientAccid: "1",
                        AsAtDate: "testdate"
                    },
                    success: function (data) {
                        console.log("succcess")
                    },
                    error: function (err) {
                        console.log("failure");
                    }
                });
            });
    });

@(Html.Kendo().Upload())
.HtmlAttributes(新的{aria_label=“files”})
.Name(“文件上传”)
)

提交

$(函数(){ $(“#上传表单”).submit(函数(e){ e、 预防默认值(); var upload=$(“#fileUpload”).data(“kendoUpload”), files=upload.getFiles(), myFile=文件[0]; console.log(文件); $.ajax({ 键入:“POST”, url:“/RmReportTasks/UploadFile/”, 数据类型:“json”, processData:false, contentType:false, 数据:{ 文件上载:文件[0]。原始文件, rmclientacid:“1”, AsAtDate:“测试日期” }, 成功:功能(数据){ console.log(“成功”) }, 错误:函数(err){ 控制台日志(“故障”); } }); }); });
这是我的控制器

 [HttpPost]
        public async Task<JsonResult> UploadFile(IEnumerable<IFormFile> fileUpload , string RmclientAccid, string AsAtDate)
        {
            var result = await _fileUploadManager.UploadDocument(fileUpload, RmclientAccid, AsAtDate);
            return Json(result);
        }
[HttpPost]
公共异步任务上载文件(IEnumerable fileUpload,字符串rmclientacid,字符串AsAtDate)
{
var result=wait_fileUploadManager.UploadDocument(fileUpload,rmclientacid,AsAtDate);
返回Json(结果);
}

您不能使用
ajax
将文件直接发送到服务器

$(function () {
            $("#uploadForm").submit(function (e) {
                e.preventDefault();
                var formData = new FormData();
                var totalFiles = document.getElementById("uploadForm").files.length;
                for (var i = 0; i < totalFiles; i++) {
                   var file = document.getElementById("uploadForm").files[i];
                   formData.append("uploadForm", file);
                }
                $.ajax({
                    type: 'POST',
                    url: '/RmReportTasks/UploadFile/',
                    dataType: 'json', 
                    processData: false,
                    contentType: false,
                    data: formData,
                    success: function (data) {
                        console.log("succcess")
                    },
                    error: function (err) {
                        console.log("failure");
                    }
                });
            });
    });
$(函数(){
$(“#上传表单”).submit(函数(e){
e、 预防默认值();
var formData=new formData();
var totalFiles=document.getElementById(“uploadForm”).files.length;
对于(var i=0;i
在服务器端,您可以像这样接收文件

    [HttpPost]
    public void UploadFile()
    { 
       for (int i = 0; i < Request.Files.Count; i++)
            {
                var file = Request.Files[i];

                var fileName = Path.GetFileName(file.FileName);

                // Write logic to handle file here.
            }
   }
[HttpPost]
public void UploadFile()
{ 
对于(int i=0;i
如果它帮助并解决了您的问题,您可以接受答案。