0
我在做一個asp net MVC5 web應用程序。我有下一個屬性視圖模型:當模型無效時,MVC5 GetImageFromRequest爲空
public class ExampleViewModel //: IValidatableObject
{
...
public string name { get; set; }
public string Foto { get; set; }
...
}
我上傳的圖片中這樣的觀點:
@using (Html.BeginForm("Create", "Ingresos", FormMethod.Post, new { @encType = "multipart/form-data" }))
{
...
<div class="form-group">
@Html.LabelFor(model => model.Foto, htmlAttributes: new { @class = "control-label col-md-3" })
<div class="col-md-9">
<input type="file" id="imagen" name="imagen" class="hidden" accept="image/*" />
@if (Model != null && Model.Foto != null)
{
<img src="@Model.Foto" class="thumb" id="preview" />
}
else
{
<img class="thumb" id="preview" hidden />
}
<label class="btn btn-default" for="imagen">Examinar...</label>
<label id="mensajeErrorImagen"></label>
<br />
@if (Model != null && Model.Foto != null)
{
<a id="botonEliminar" onclick="eliminarImagen()" style="cursor: pointer;">[Eliminar]</a>
}
else
{
<a id="botonEliminar" onclick="eliminarImagen()" style="cursor: pointer;"></a>
}
</div>
</div>
...
}
和Controller我得到這樣
public ActionResult Create(ExampleViewModel ivm){
WebImage imagenW = WebImage.GetImageFromRequest();
if (imagenW != null)
{
ivm.Foto = "data:image/png;base64," + Convert.ToBase64String(imagenW.GetBytes());
}
if (Model.IsValid){
//do something...
}
return (View(ivm))
}
圖像
當模型有效時,這適用於我。當模型無效時,圖像將在視圖中加載,但在控制器imagenW
中爲空。 發生了什麼事?
編輯
發生錯誤的詩情如下:
- 我完成了與圖像的形式和領域的一些錯誤,我提交。
- 該視圖顯示錯誤消息和上傳圖像的預覽。
- 我在沒有變化的情況下再次提交表單。
- 該視圖再次顯示相同的錯誤消息,但是這次圖像的預覽是空的。
imagenW
爲空連續第二次在表單中發生驗證錯誤。