如何将URL路由到本地目录? (里面的描述)

时间:2013-11-27 12:25:26

标签: c# asp.net url-routing

我有一个网站,其中所有图片都在我网站的子目录中。但是我需要将这些图片保存在特定的目录中,我需要在一个保存我的页面URL的客户端应用程序中显示。

例如:我有一个网址http://foo.example.com/images/happy.jpg

该网站位于c:/ Example。

我将图像存储在c:/Images/categories/category1/happy.jpg

如果我的客户请求上述网址,我需要将其重定向到文件夹中的图片,我保留了所有图片。

有人可以说这可能吗?如果可能,请通过网址路由建议一种方法来实现这一目标

1 个答案:

答案 0 :(得分:0)

实现此目的的最简单方法是在IIS配置中为保存图像的文件夹添加虚拟目录。添加虚拟目录后,您可以通过URL将文件引用到虚拟路径。这是生产环境中最好的方式。

Technet step by step guide to adding a virtual directory

对于无授权,您应选择“应用程序用户”(传递身份验证)。如果将新虚拟目录嵌套在应用程序的VD中,则可能需要将web.config文件添加到虚拟目录以覆盖根web.config文件中的任何授权/拒绝规则。

对于本地调试,如果图像在本地PC上,则可以使用file:/// url替换c:\ with file:///并使用正斜杠而不是反斜杠用于路径的其余部分。不要忘记使用“@”来逃避代码中的斜杠。

或者,更复杂的解决方案是配置类似于上面的本地IIS并使用本地IIS而不是使用localhost:port的ASP.net运行时服务器,使用上面的链接并配置项目以使用IIS。如果您在很长一段时间内构建此项目,则本地IIS最有意义。没有本地IIS就可以轻松完成短项目。

How to configure a project to use Local IIS for debugging