从控制器-Asp-Net Core发回IFormFile



我正在使用IFormFile接口上传一些文件

<input required asp-for="FeaturedPhoto" type="file" />

该文件正在正确上传,但现在我想将其加载回我的模型中,以便在编辑视图中使用。

图像正在上传到服务器中,只有路径和名称被保存到DB中。

obj.FeaturedPhoto = new FormFile(); // Need help building this

问候,

您可以将上传的文件返回为base64编码的字符串:

[ProducesResponseType(200, Type = typeof(string))]
public async Task<IActionResult> UploadImage(IFormFile file)
{
// your other code
if (file.Length > 0)
{
using (var ms = new MemoryStream())
{
file.CopyTo(ms);
var fileBytes = ms.ToArray();
string s = Convert.ToBase64String(fileBytes);
return new OkObjectResult(s);
}
}
}

在客户端,你可以显示这样的图像:

<img src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="test image" />

要使用以上内容,您需要了解ContentType。你可以通过使用找到这个

file.ContentType

最新更新