我試圖從本地存儲(而不是內容文件夾)中顯示圖像。我使用的圖像標籤看起來像這樣。無法在剃刀視圖中使用擴展方法
@if (Model.PreviousCoverPic != null)
{
<img src="@Url.Action("ServeImage", "Profile",new {path = Model.PreviousCoverPic})" alt="Previous Profile Pic" />
}
我提出的ServerImage方法的擴展方法,因爲它會由一個以上的控制器一起使用。這裏是該方法的代碼:
public static ActionResult ServeImage(this System.Web.Mvc.Controller controller, string path)
{
Stream stream = new FileStream(path, FileMode.Open);
FileResult fileResult = new FileStreamResult(stream, "image/jpg");
return fileResult;
}
它返回圖像的FileResult,以便它可以顯示。但是,渲染視圖時不顯示圖像。我檢查了Model.PreviousCoverPic值,它不爲空。我在這裏錯過了什麼?我怎樣才能實現從本地文件夾顯示方法?另外,我在this問題後面跟着回答,並添加了包含擴展方法的類的名稱空間,但該圖像仍未在視圖中呈現。
您是否在cshtml中包含了定義擴展方法的命名空間? –
我在Web.config文件中包含名稱空間,以便它包含在所有cshtml文件中。 – avidProgrammer
我不認爲它會這樣工作。將它包含在你的cshtml中,讓我知道它是如何工作的 –