我正在尝试允许用户通过 html 表单上传图像,并且我想将其作为 byte[] 存储在我的模型中。(将存储在 db 中)除非我应该使用其他东西而不是 byte[] ?
这就是我的表格的样子
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>ImageUploadModel</legend>
@Html.DisplayFor(model => model.Image)
<input type="file" name="Image" id="Image" accept="image/*" />
@Html.DisplayFor(model => model.Caption)
@Html.EditorFor(model => model.Caption)
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
这是我的控制器现在的样子
[HttpPost]
public ActionResult Create(ImageUploadModel model)
{
// do stuff
return View();
}
这是我的 ImageUploadModel 的样子
public class ImageUploadModel
{
public Guid UploadedBy { get; set; }
[Display(Name = "Image")]
public byte[] Image { get; set; }
[Display(Name = "Image Caption")]
public string Caption { get; set; }
}
当我尝试上传文件时,我收到关于不是有效的 base64string 的错误。
在 MVC4/C# 中将上传文件作为字节 [] 获取的正确方法是什么
谢谢