C# asp.net核心文件上载始终为空

C# asp.net核心文件上载始终为空,c#,asp.net-core,asp.net-core-mvc,C#,Asp.net Core,Asp.net Core Mvc,我一直在尝试按照文档中的示例来允许将文件上载到我的控制器,它确实会影响我的操作,但它总是以null的形式通过 我的视图模型 上载导入数据: 取消 我的控制器操作 [HttpPost] public async Task<IActionResult> ImportAdditionalCodes(IFormFile file) { //file is always null here!!! if (file?.Length > 0) {

我一直在尝试按照文档中的示例来允许将文件上载到我的控制器,它确实会影响我的操作,但它总是以null的形式通过

我的视图模型


上载导入数据:

取消
我的控制器操作

[HttpPost]
public async Task<IActionResult> ImportAdditionalCodes(IFormFile file)
{
    //file is always null here!!!
    if (file?.Length > 0)
    {
        JsonSerializer js = new JsonSerializer();
        using (MemoryStream ms = new MemoryStream())
        {
            await file.CopyToAsync(ms);

            using (StreamReader streamReader = new StreamReader(ms))
            {
                CommodityAdditionalCodeTypeDto[] codes= (CommodityAdditionalCodeTypeDto[]) js.Deserialize(streamReader, typeof(CommodityAdditionalCodeTypeDto[]));
            }
        }
   }
   return null;
}
[HttpPost]
公共异步任务导入附加代码(IFormFile)
{
//文件在这里总是空的!!!
如果(文件?.Length>0)
{
JsonSerializer js=新的JsonSerializer();
使用(MemoryStream ms=new MemoryStream())
{
等待文件.CopyToAsync(ms);
使用(StreamReader StreamReader=新StreamReader(ms))
{
CommodityAdditionalCodeTypeDto[]编码=(CommodityAdditionalCodeTypeDto[])js.反序列化(streamReader,typeof(CommodityAdditionalCodeTypeDto[]);
}
}
}
返回null;
}
小字体。而不是

<input type="file" name="files" >

写:

<input type="file" name="file" >


您还可以使用
HttpContext.Request.Form.files访问发送文件

您可以使用此问题。在这个链接中有一个很好的教程。