【发布时间】:2018-11-14 21:48:43
【问题描述】:
我正在使用 IFormFile 添加图像,然后将文件转换为字节数组并将其保存到我的数据库中,而不是能够读取图像并显示它。
但是,从视图中,当我在编辑模式下打开保存的记录时添加图像时,我无法看到以前保存的图像。
所以在视图上我有这个代码:
<input type="file" asp-for="BAN_IMAGE_FILE">
在我的模型上 我有以下属性
public byte[] BAN_IMAGE {get;set;}
private IFormFile _BAN_IMAGE_FILE;
[NotMapped]
public IFormFile BAN_IMAGE_FILE
{
get => _BAN_IMAGE_FILE;
set
{
_BAN_IMAGE_FILE = value;
if (_BAN_IMAGE_FILE != null)
{
using (var ms = new MemoryStream())
{
_BAN_IMAGE_FILE.CopyTo(ms);
var fileBytes = ms.ToArray();
BAN_IMAGE = fileBytes;
}
}
}
}
,您可以看到我的工作是,当文件被选择时,它将其转换为字节数组,因此当我单击“保存”按钮时,数据保存。
我想要做的是当我点击编辑时,我想要获取字节数组并将其转换为 FormFile 以便显示在屏幕上,有什么建议吗?
控制器中的编辑方法:
public async Task<IActionResult> Edit(int? id)
{
if (User.Identity.IsAuthenticated != true)
return NotFound();
if (id == null)
{
return NotFound();
}
var tEvents = await _context.TEVENTS.Include(x => x.BANNERS).Include(x=>x.PHOTO_GALLERY).Include(x=>x.EVENT_TYPES)
.FirstOrDefaultAsync(x => x.TE_ROWID.Equals(id));
ViewBag.EvenTypes = GetEventTypes();
if (tEvents == null)
{
return NotFound();
}
return View(tEvents);
}
【问题讨论】:
-
您能否在您的问题
GET和POST中为您的控制器中的Edit操作发布方法? -
当然,会相应地更新问题
标签: c# asp.net-mvc