首页 > 解决方案 > 在更新页面上单击更新按钮将图像数据从视图传递到控制器

问题描述

这里在更新页面加载图像显示在网页上。

在更新按钮上单击如何将图像数据(IFormFile)表单视图传递给控制器​​。

标签: imageasp.net-coremodel-view-controllerasp.net-core-mvcimage-upload

解决方案


如果要将 IFormFile 从视图传递给控制器​​,可以使用类型为文件的输入,视图不能传递<img/>给控制器​​。这是一个演示:

看法:

<form method="post" enctype="multipart/form-data">
    <input type="file" name="image"/>
    <input type="submit" value="submit"/>
</form>

控制器:

[HttpPost]
        public IActionResult Main(IFormFile image)
        {
            return View();
        }

结果: 在此处输入图像描述

或者您可以将路径传递给控制器​​,控制器获取带有路径的文件。图片:

在此处输入图像描述

看法:

<form method="post" enctype="multipart/form-data">
    <input name="image" value="1.jpg" hidden/>

    <img src="~/images/1.jpg" />
    <input type="submit" value="submit" />
</form>

控制器:

[HttpPost]
        public IActionResult Main(string image)
        {
            string path = "./wwwroot/images/" + image;
            IFormFile File;
            using (var stream = System.IO.File.OpenRead(path))
            {
                File = new FormFile(stream, 0, stream.Length, null, Path.GetFileName(stream.Name));
            }
            return View();
        }

结果: 在此处输入图像描述


推荐阅读