【问题标题】:Serving up a file not located within the IIS's virtual directory提供不在 IIS 虚拟目录中的文件
【发布时间】:2013-08-05 01:05:57
【问题描述】:

我有一个 MVC 网站,在提供位于我的虚拟目录中的图像文件时我没有问题。我可以像这样http://localhost/images/1.jpg

访问我的文件

如果文件位于另一个驱动器中,我如何提供这些文件?例如,如果它们位于 D:\images\1.jpg

【问题讨论】:

    标签: c# asp.net-mvc iis directory download


    【解决方案1】:

    在不知道您要达到什么目的的情况下,让我首先说不建议这样做。当涉及到主机环境的 IO 访问时,Web 应用程序应该在沙箱中工作。但是,如果您处于共享托管环境中,情况可能会发生变化。

    是什么阻止您将这些图像复制到虚拟目录中的子文件夹?

    另一种选择是为此外部文件夹创建一个单独的虚拟目录,并将其作为网络中的另一个资源进行访问。

    同样,如果您更详细地描述您正在尝试做的事情,您可能会得到更好的回应。

    【讨论】:

    • 我正在使用第三方软件来镜像我的 D 盘,所以我想保留我的图像
    • 如果是这种情况,您可以创建一个单独的虚拟文件夹,指向为您的图像资源提供服务的 D:\images。假设这个新的 Web 应用程序名为“ImageRepository”,在您的应用程序中,您将通过localhost/ImageRepository/1.jpg 引用图像。 ImageRepository 也可以配置为限制访问。
    【解决方案2】:

    我同意@Uchitha 的观点,从架构的角度来看,我不会尝试这个。如果你真的有,因为你无法控制的情况,也许看看符号链接路径。更多详情见以下msdn文章:http://msdn.microsoft.com/en-us/library/windows/desktop/aa363878(v=vs.85).aspx

    【讨论】:

      猜你喜欢
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-25
      • 2016-10-06
      • 2017-03-06
      相关资源
      最近更新 更多