1
我已經創建了一個ImageController來從我的項目中的位置提供圖像。現在我試圖讓它從「/Image/file.png」路由到我的控制器,但我似乎無法做到。控制器從來沒有被調用過(我在動作的第一行設置了一個斷點,它從不中斷)。URL不會路由到控制器
我的路線:
routes.MapRoute(
"Image",
"Image/{file}",
new { controller = "Image", action = "Render", file = "" }
);
我ImageController:
public class ImageController : Controller
{
//
// GET: /Image/
public ActionResult Render(string file)
{
var path = this.getPath(file);
System.Diagnostics.Debug.WriteLine(path);
if (!System.IO.File.Exists(path))
{
return new HttpNotFoundResult(string.Format("File {0} not found.", path));
}
return new ImageResult(path);
}
private string getPath(string file)
{
return string.Format("{0}/{1}", Server.MapPath("~/Content/Images"), file);
}
}
爲什麼不從 「圖像/ {}文件的」 我的項目路由到我的控制器?
這可能會有所幫助:http://stackoverflow.com/questions/11257768/asp-net-mvc-route-bypass-staticfile-handler-for-path。從Scott的文章中,您可能可以將* .png,*。gif,* .jpg通配符用於處理這些請求的處理程序。 – TSmith