Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET Core 5 Web API上载文件_C#_Asp.net Core_Asp.net Web Api_Blazor - Fatal编程技术网

C# ASP.NET Core 5 Web API上载文件

C# ASP.NET Core 5 Web API上载文件,c#,asp.net-core,asp.net-web-api,blazor,C#,Asp.net Core,Asp.net Web Api,Blazor,我正在尝试使用.NET5WebAPI和Blazor上传文件,并为实现这一目标而苦苦挣扎 从我在网上收集的所有信息来看,我必须有一个上传控件,通过OnInputChanged事件读取上传的文件,如下所示: <InputFile OnChange="OnInputFileChanged" /> private void OnInputFileChanged(InputFileChangeEventArgs e) { if (e.File !=

我正在尝试使用.NET5WebAPI和Blazor上传文件,并为实现这一目标而苦苦挣扎

从我在网上收集的所有信息来看,我必须有一个上传控件,通过
OnInputChanged
事件读取上传的文件,如下所示:

<InputFile OnChange="OnInputFileChanged" />

private void OnInputFileChanged(InputFileChangeEventArgs e)
    {
        if (e.File != null)
        {    
            //EditEntity.Image is a FormFile
            this.EditEntity.Image = new FormFile(e.File.OpenReadStream(long.MaxValue), 0, e.File.Size, e.File.Name, e.File.Name);
        }
        else
        {
            this.EditEntity.Image = null;
        }
    }
这将全部发送到后端API,该API具有以下签名,但当请求到达时,将实例化模型实例(这意味着它不是null),但所有属性都为空/default.Net值:

public override IActionResult UpdateEntity([FromForm] CategoryModel model)
{
  //model is instantiated here, but no values are mapped
}
我可以在浏览器的“网络”选项卡下看到表单数据与所有值一起发送,但实际上没有映射任何内容


如果有人有任何建议——特别是如果它涉及到消除反思,因为这在很多层面上都是错误的——我愿意接受任何建议

您好@Scott,那么您真正的问题是什么?您的metioned
OnInputFileChanged
似乎与下面的httpclient无关。您的场景是什么?基本上,每当模型进入后端API时,没有文件映射到任何地方,并且实际的模型实例被实例化(因此它不是null),但是实际上没有任何东西映射到它-没有任何属性具有预期的值。
public override IActionResult UpdateEntity([FromForm] CategoryModel model)
{
  //model is instantiated here, but no values are mapped
}