这就是我想做的事情.我有一些内容,我写的是一个观点.此内容具有与文档相关的图像引用.例如,如果我正在查看以下网址:
http://localhost/article/8AB98/
内容可能具有以下形式的图像:
<img src="myimage.png" />
这显然会导致浏览器在以下URL查询图像:
http://localhost/article/8AB98/myimage.png
但是,由于mvc路由,将无法找到此图像.您是否知道一种简单的方法可以使该URL将正确的图像返回给浏览器?
请注意:实际上重要的是标记保持原始状态不变…这意味着以某种方式重写图像网址,以便它们指向当前视图URL之外的另一个文件夹,遗憾的是不可能.
谢谢!!
解决方法
我假设当你说“实际上重要的是标记与原始标记保持不变”时,你的意思是
<img src="myimage.png" />
是什么必须呈现给浏览器,所以你需要欺骗Web服务器采取的请求URL
http://localhost/article/8AB98/myimage.png
并仅使用该信息查找正确的图像,无论您将其存储在何处,并将其返回到浏览器.
我想到了两个选项,但很难知道要推荐哪个,因为你还没有说出存储图像的位置.
选项1 – Url重写器
购买ISAPI_Rewrite的副本,并重写所有符合上述条件的网址,以便在任何地方获取图像.有关ISAPI_Rewrite here的更多信息.
选项2 – 自定义HttpHandler
您可以编写映射到解析请求URL的所有PNG文件请求的HttpHandler,并执行查找映像所需的操作,然后将其返回到响应流.这样做的缺点是你必须告诉IIS将所有PNG请求映射到aspnet_isapi.dll,这可能是一个性能无赖.
我仍然不确定我是否正确理解你的问题,但我希望这会有所帮助.祝好运.