Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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核心表单?_C#_Asp.net Mvc_Iformfile - Fatal编程技术网

C# 如何使用文件上传制作Asp.Net核心表单?

C# 如何使用文件上传制作Asp.Net核心表单?,c#,asp.net-mvc,iformfile,C#,Asp.net Mvc,Iformfile,我正在使用viewmodel为用户创建注册表。除了输入用户名、电子邮件和密码等数据外,用户还必须上传图像 当用户输入完数据并将viewmodel发送到action方法时,会发生一些有趣的事情 文件为空,但所有其他数据均正确 这是viewmodel: public class RegisterAsBusiness { public string UserName { get; set; } public IFormFile FormFile { get; set; }

我正在使用viewmodel为用户创建注册表。除了输入用户名、电子邮件和密码等数据外,用户还必须上传图像

当用户输入完数据并将viewmodel发送到action方法时,会发生一些有趣的事情

文件为空,但所有其他数据均正确

这是viewmodel:

public class RegisterAsBusiness
{   
    public string UserName { get; set; }
    public IFormFile FormFile { get; set; }
    public string Email { get; set; }
}
这是Html部分:


@model AfsluttendeProject.Models.ViewModels.RegisterAsBusiness


<hr />
<div class="row">
    <div class="col-md-4">
        <form asp-action="RegisterAsBusiness">
            <div asp-validation-summary="ModelOnly" class="text-danger"></div>
            <div class="form-group">
                <label asp-for="UserName" class="control-label"></label>
                <input asp-for="UserName" class="form-control" />
                <span asp-validation-for="UserName" class="text-danger"></span>
            </div>
            <div class="form-group">
                <dl>
                    <dt>
                        <label asp-for="FormFile"></label>
                    </dt>
                    <dd>
                        <input asp-for="FormFile" type="file">
                    </dd>
                </dl>

            </div>

  <div class="form-group">
                <label asp-for="Email" class="control-label"></label>
                <input asp-for="Email" class="form-control" />
                <span asp-validation-for="Email" class="text-danger"></span>
            </div>

            <div class="form-group">
                <input type="submit" value="Create" class="btn btn-default" />
            </div>
        </form>
    </div>
</div>



@模型afslutendeproject.Models.ViewModels.RegisterAsBusiness

以及控制器中的方法:


public IActionResult RegisterAsBusiness()
{
    return View(new RegisterAsBusiness());
}

[HttpPost]
public async Task<IActionResult> RegisterAsBusiness(RegisterAsBusiness registration)
{
    return RedirectToAction("Login");
}

公共IActionResult注册表业务()
{
返回视图(新RegisterAsBusiness());
}
[HttpPost]
公共异步任务注册表业务(注册表业务注册)
{
返回重定向操作(“登录”);
}

在表单中,您应该添加
enctype=“多部分/表单数据”
您应该检查并确认。

这将是完全有帮助的