3

FileContentResult 結果メソッドから null ではなく、「デフォルトの画像」を返したい。基本的に、プロジェクト全体のいくつかのビューで以下のメソッドを呼び出しています。しかし問題は、メソッドが取得する Image がない場合に null を返し、呼び出されている各ページでエラーが発生することです。取得した画像がない場合に、プロジェクトに保存した画像を表示したい。デフォルトの画像をデータベースに保存したくありません。

どんな助けでも大歓迎です...

       [AllowAnonymous]
    public FileContentResult GetLogoImage()
    {

        var logo = _adminPractice.GetAll().FirstOrDefault();
        if (logo != null)
        {
            return new FileContentResult(logo.PracticeLogo, "image/jpeg");
        }
        else
        {
            return null;
        }
    }
4

1 に答える 1

6

次のように、ファイルへのパスをマップする必要があります。

[AllowAnonymous]
public FileResult GetLogoImage()
{
    var logo = _adminPractice.GetAll().FirstOrDefault();
    if (logo != null)
    {
        return new FileContentResult(logo.PracticeLogo, "image/jpeg");
    }
    else
    {
        return new FilePathResult(HttpContext.Server.MapPath("~/Content/images/practicelogo.jpeg"), "image/jpeg");
    }
}

どちらのタイプの結果も FileResult から派生するため、関数の戻り値のタイプを変更する必要があります。

于 2013-08-13T16:07:27.957 に答える