我正在使用IFormFile接口上传一些文件
<input required asp-for="FeaturedPhoto" type="file" />
文件已正确上传,但是现在我想将此文件重新加载到模型中,以便可以在“编辑”视图中使用。
图像正在服务器中上传,只有路径和名称被保存到数据库中。
obj.FeaturedPhoto = new FormFile(); // Need help building this
此致
答案 0 :(得分:0)
您可以将上传的文件作为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