【问题标题】:How to route an url to local directory? (Description inside)如何将 url 路由到本地目录? (内有说明)
【发布时间】:2013-11-27 22:56:30
【问题描述】:

我有一个站点,其中所有图像都位于我站点的子目录中。但我需要将这些图片保存在特定目录中,并且需要在包含我的页面 url 的客户端应用程序中显示。

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

该站点位于 c:/Example 中。

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

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

有人能说这可能吗?如果可能,请建议一种通过 url 路由来完成此操作的方法

【问题讨论】:

  • 为什么不将它们存储在虚拟目录中并链接到那里???
  • @ShellNinja 实际上我不知道如何实现这一点。那是y要求的建议。感谢您的回复,如果可以通过虚拟目录完成,您能告诉我如何通过授权实现它。

标签: c# asp.net url-routing


【解决方案1】:

完成此操作的最简单方法是在您的 IIS 配置中为保存图像的文件夹添加一个虚拟目录。添加虚拟目录后,您可以通过虚拟路径的 URL 引用文件。这是生产环境中的最佳方式。

Technet step by step guide to adding a virtual directory

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

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

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

How to configure a project to use Local IIS for debugging

【讨论】:

  • 这不起作用。当请求来自客户端访问链接时,它不引用路径。
  • 在您给出的示例中:新虚拟目录 - 名称将是“图像”物理路径将是 - c:/Images/categories/category1/
猜你喜欢
  • 1970-01-01
  • 2013-01-26
  • 1970-01-01
  • 2017-02-06
  • 2012-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多