5

Asp.NET MVC 開発は初めてで、データベースから複数の画像を同じビューに表示するアプリケーションを作成したいと考えています。画像を LONGBLOB として保存し、ベース 64 文字列に変換しています。

私は次のようにそれらを表示しようとしています:

<img src=<%:Html.Value("photo")%> />

ただし、URL はパラメータとして長すぎる文字列をサポートしていないと思います。

私の質問は: データベースから画像を表示する最良の方法はどれですか? それらを画像サーバーに保存する必要がありますか? 各 URL に画像を保存するマップ ルートを作成しますか?

明確だったと思います。

4

2 に答える 2

1

次のようなことを試すことができます:

  • を返すコントローラ アクションを作成します。FileContentResult
  • データベースからデータをストリームまたはバイト配列にプルします
  • アクションからController.File Method Overloadsの 1 つを使用し、画像コンテンツと MIME タイプを渡し、それをアクションから返します。
  • img src 属性をコントローラ アクションの URL に設定し、データベースから返す画像を識別するために必要なパラメータを渡します。
于 2013-09-17T01:19:33.613 に答える
-1
public ActionResult MYsample()
{
    var MyList = storeDB.GenreList();
    var a= MyList.Count;

    if (a != null)
    {
        foreach (var li in MyList)
        {
            return File(li.fileContent, li.mimeType,li.fileName);
        }
    }
    return View(MyList);
}

意見

@foreach (var item in Model)
{
        <img src="@Url.Action("MYsample", "HomeController", new { id = item.ProductID })" alt="@item.Productname" />
}
于 2013-09-17T08:58:43.460 に答える