7
我嘗試使用here的答案,但它不起作用。我有以下代碼:ASP.NET MVC3:通過控制器加載圖像
public ActionResult ShowImage()
{
using (FileStream stream = new FileStream(Path.Combine(Server.MapPath("/App_Data/UserUpload/asd.png")), FileMode.Open))
{
FileStreamResult result = new FileStreamResult(stream, "image/png");
result.FileDownloadName = "asd.png";
return result;
}
}
當我打開頁面時,出現一個錯誤信息:「無法訪問已關閉的文件」。我在搜索錯誤方面做了一些搜索,但是我只發現了與上傳相關的錯誤。是什麼原因導致這個問題?
這工作,謝謝!還是有點感興趣,爲什麼我提交的代碼沒有工作? – Esa 2011-06-03 10:20:15
@Esa,在您提供的代碼中,您已將FileStream包裝到'using'子句中,意味着此流將在控制器操作返回之前處理。但是,動作結果將在MVC管道中稍後執行,並且當它嘗試使用已傳遞給「FileStreamResult」的Stream時,它將被關閉。 – 2011-06-03 10:56:57
總是樂於學習更多,謝謝。 – Esa 2011-06-03 11:29:42