找不到 HttpPostedFileBase Visual studio 2019

HttpPostedFileBase could not be found Visual studio 2019

你好, 我正在使用 visual studio 2019 开发 asp.net 核心 mvc, (mvc版本(3.1.8)见附件。 我想使用 HttpPostedFileBase,但找不到错误, 我看到了一个建议使用 system.Web 添加的解决方案,我确实这样做了,但仍然出现此错误, 有什么想法吗?

编辑: 创建了 html :

 <div class="col-md-6">
            <div>
                <input id="CSVFile" type="file">
            </div>
            <button onclick="Submit()">submit</button>
        </div>

和javascript:

<script type="text/javascript">
        function Submit() {
            var pdata = new FormData();
            var files = $("#CSVFile").get(0).files;
            window.alert(files.Length);
            pdata.append('CSVFile', files[0]);
            $.ajax({
                url: "Index",
                type: "POST",
                data: pdata,
                processData: false,
                contentType: false,
                success: function (data) {
                    var input = $("#CSVFile");
                    input.replaceWith(input.val('').clone(true));
                }
            });

        }
    </script>

但是控制器没有被调用(它被定义为 HttpPost)

public ActionResult Index(IFormFile CSVFile)
{
return View();
}

.net core 3.1不包含HttpPostedFileBase。如果要上传文件,可以使用IFormFile,这里是an official tutorial

这是一个使用 IFormFile 的简单演示(从视图到控制器):

查看:

<div class="row">
    <div class="col-md-6">
            <div>
                <input id="CertImageFile" type="file">
            </div>
            <button onclick="Submit()">submit</button>
    </div>
</div>
@section scripts{
    <script type="text/javascript">
        function Submit() {
            var pdata = new FormData();
            var files = $("#CertImageFile").get(0).files;
            pdata.append('CertImageFile', files[0]);
            $.ajax({
                url: "Submit",
                type: "POST",
                data: pdata,
                processData: false,
                contentType: false,
                success: function (data) {
                   var input = $("#CertImageFile");
                   input.replaceWith(input.val('').clone(true));
                }
            });
            
        }
    </script>
}

控制器:

[HttpGet]
    public IActionResult TestIFormFile()
    {
        return View();
    }
    [HttpPost]
    public IActionResult Submit(IFormFile CertImageFile)
    {
        return Ok();
    }

结果: