使用.NET CORE 2.1上传大文件

时间:2018-08-27 19:21:58

标签: model-view-controller .net-core asp.net-core-2.1

我有一个.NET core 2.1 MVC Web应用程序。我的数据仅对小文件执行POST(到Controller动作方法)。但是对于较大的文件,它将返回404错误。我看到错误“请求过滤模块配置为拒绝超过请求内容长度的请求”。我无法对web.config进行更改,因为它是2.1核心应用程序(具有appsettings.json而不是web.config)'

我的AJAX呼叫是-

  $("#UploadButton").click(function () {
        debugger;


        var progressEle = $("#progress");
        progressEle.css("background", "blue");


        var data = document.getElementById("file").files[0];

        var formData = new FormData();

        formData.append("files", data);
 $.ajax({
                url: "../Home/UploadFile",
                data: formData,
                processData: false,
                contentType: false,            
                type: "POST",

                xhr: function () {
                    var xhr = new window.XMLHttpRequest();
                    xhr.upload.addEventListener("progress", function (evt) {
                        evt.lengthComputable = false;
                        if (evt.lengthComputable) {
                            debugger;

                            var progress = Math.round((evt.loaded / evt.total) * 100);
                            progressEle.width(progress + "%");
                        }
                    }, false);
                    return xhr;
                },
                success: function (data) {
                    if (data.state == 0) {
                        progressEle.css("background", "green");
                    }
                }
            }); 
        })

并且控制器操作方法是-

[HttpPost]
        [RequestSizeLimit(long.MaxValue)]
        [DisableRequestSizeLimit]
        public JsonResult UploadFile(IList<IFormFile> files)
        {
//upload file details to be added
            return Json(new { state = 0, message = string.Empty });
        }

0 个答案:

没有答案