我想使用ImageController提供我的图片:
public class ImageController : Controller
{
// GET: Image
public ActionResult Render(string fileName)
{
byte[] image = System.IO.File.ReadAllBytes(/*some path*/);
return this.Image(image, "image/png");
}
}
我添加了路线:
routes.MapRoute(
name: "Images",
url: "images/{action}/{fileName}",
defaults: new { controller = "Image", action = "Render", fileName = UrlParameter.Optional }
);
所以这个图像路径有效: http://xxx.xxx/images/render/x
但是这个扩展名的路径并不是: http://xxx.xxx/images/render/x的 .PNG
A" HTTP错误404.0 - 未找到"出现错误。
我该怎么做才能启用文件扩展名?
答案 0 :(得分:0)
请尝试以下步骤:
在RouteConfig.cs
中启用自定义文件路由routes.RouteExistingFiles = true;
在web.config中添加以下处理程序
<system.webServer>
<handlers>
<add name="ProtectedImages" path="images/*" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>