asp.net-mvc – 在ASP.NET MVC中从相同的路由URL路径提供图像
这就是我想做的事情.我有一些内容,我写的是一个观点.此内容具有与文档相关的图像引用.例如,如果我正在查看以下网址:
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,这可能是一个性能无赖. 我仍然不确定我是否正确理解你的问题,但我希望这会有所帮助.祝好运. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – Kendo UI窗口 – 阻止加载以前的内容
- asp.net-mvc – Razor中的条件链接
- asp.net正则表达式验证器客户端脚本错误
- asp.net-mvc – 如何在Asp.Net MVC中导出到excel?
- asp.net-mvc – MVC 3 – 脚手架下拉列表
- asp.net-mvc – 获取VS2010,特别是Razor视图,将自定义“dat
- asp.net-mvc-3 – 根据asp.net mvc3中的下拉列表数据获取列
- ASP.NET:存储应用程序设置的位置?
- asp.net-mvc – 来自Objects MVC的DropDownList
- asp.net – 标签系统的linq查询 – 搜索多个标签