ASP.NET MVC は初めてです。いくつかの画像フィールド ( ) を持つモデルがありますbyte[]
。
コントローラーとビューも作成しましたが、コードを実行すると、画像フィールドをアップロードするものは何もありません。私の画像はモデルの一部のフィールドであり、他のフィールドは文字列です。
私を助けてください。コントローラーとビューはどうあるべきですか?
モデルクラス:
public int Id { get; set; }
public string Name { get; set; }
public string Activity { get; set; }
public string Address { get; set; }
public string Tel { get; set; }
public string Work_Hours { get; set; }
public byte[] img1 { get; set; }
public byte[] img2 { get; set; }
コントローラー (作成) :
public ActionResult Create(Shop shop)
{
try
{
var bytes = new byte[0];
ViewBag.Mime = "image/png";
if (Request.Files.Count == 1)
{
bytes = new byte[Request.Files[0].ContentLength];
Request.Files[0].InputStream.Read(bytes, 0, bytes.Length);
ViewBag.Mime = Request.Files[0].ContentType;
}
db.Shop.Add(shop);
db.SaveChanges();
return RedirectToAction("Index");
}
catch
{
return View();
}
}
私のビューのすべての部分は次のようになります:
<div class="editor-label">
<%: Html.LabelFor(model => model.Activity) %>
</div>
<div class="editor-field">
<%: Html.EditorFor(model => model.Activity) %>
<%: Html.ValidationMessageFor(model => model.Activity) %>
</div>
<div class="editor-label">
<%: Html.LabelFor(model => model.img2) %>
</div>
<div class="editor-field">
<%: Html.EditorFor(model => model.img2)%>
<%: Html.ValidationMessageFor(model => model.Shop_img2) %>
</div>
しかし、画像のアップロードには何を使用すればよいでしょうか?!