ASP 图像的 .NET MVC 数据类型

ASP .NET MVC Data type for image

我想上传一张图片,然后将其转换为base64。

我应该选择什么数据类型?我试过字符串,但它只给了我文件名而不是路径。

public class TestModel
{
    public string Image { get; set; }
}

查看:

@model Test.Models.TestModel

<form asp-action="Test" method="post">

        <div class="form-group">
            <input asp-for="Image" class="form-control" type="file" />
        </div>

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

您可以使用IFormFile类型上传图片,然后在控制器中将其转换为base64。这是我的代码:

控制器

  public IActionResult FileUpLoad(Models.TestModel model)
        {
            //convert it to base64
            var ms = new MemoryStream();
            model.Image.CopyTo(ms);
            var fileBytes = ms.ToArray();
            string result = Convert.ToBase64String(fileBytes);

            //......
            
            return RedirectToAction("Index");
        }

型号

public class TestModel

    {
       
        public IFormFile Image { get; set; }
    }

查看

<div>
    
    <form asp-controller="Home" asp-action="FileUpLoad" enctype="multipart/form-data" method="post">
       
        <input type="file" asp-for="Image" />
        <button type="submit">Submit</button>
    </form>
</div>

上传一张图片,然后可以转成base64