-1

イメージをデータベースに保存し、MVC を使用して取得して表示する方法

MVC3、Entity Framework Database First、および SQL SERVER 2008 を使用しています

データベースでは、画像に varbinary(MAX) を使用しました

Image   varbinary(MAX)  Checked

さらに私が使用した

[DisplayName("Image")]
    public byte[] Image { get; set; }

私のマッピングクラスで

Createアクションメソッドで保存しようとしたとき

public ActionResult Create(MarjaaModel newMarjaa, HttpPostedFileBase uploadFile)
    {
        if (uploadFile != null && uploadFile.ContentLength > 0)
        {                               
            newMarjaa.Image = new byte[uploadFile.ContentLength];
            uploadFile.InputStream.Read(newMarjaa.Image, 0, uploadFile.ContentLength);
        }
        try
        {
            data.submitMarjaa(newMarjaa);
            return RedirectToAction("Index");
        }
        catch
        {
            return View();
        }
    }

画像をバイナリデータとして保存することに成功しています

しかし、この画像を取得してビューに表示する方法を教えてください

4

2 に答える 2

5

最後に私はそれをやった

私のコントローラーの簡単な方法

public ActionResult ShowImage(long id)
    {
        var model = data.getMarjaa(id);
        return File(model.Image, "image/jpg");
    }

そして私の見解では

<td>
       @if (item.Image == null)
       {
       <img width="40" height="40" src="http://www.abc.com/images/staff/no_worry[1].jpg" />
       }
       else
       {
       <img width="40" height="40" src='@Url.Action("ShowImage", "Admin", new { id = item.id })' />
       }
    </td>
于 2013-01-30T09:17:09.917 に答える