代码之家  ›  专栏  ›  技术社区  ›  Moo

正在获取ASP.NET中本地文件的网址

  •  1
  • Moo  · 技术社区  · 15 年前

    是否有“正确”的方法来获取ASP.NET应用程序下文件的正确网址?例如,我在“/content/images/gallery/2010-01-17/small/”中有内容,我想遍历所有这些文件,并向浏览器输出一个链接。

    现在,我可以通过计算文件全名的路径来手动执行,或者通过了解当前目录来执行,但是是否有合适的ASP.NET方法来执行?

    如您所知,如果提供的方法存在,我宁愿使用它:)

    当做

    2 回复  |  直到 15 年前
        1
  •  2
  •   M4N    15 年前

    你可以用这个方法 ResolveUrl() 为此。如果您的内容目录直接位于Web应用的根目录下,那么应该可以:

    // "~" results in an URL to your web app's root directory
    string imageBaseUrl = this.ResolveUrl("~/content/gallery/2010-01-17/small");
    

    然后可以将图像的名称附加到该基URL。

        2
  •  0
  •   Community CDub    8 年前

    我认为解决方案只是答案的一部分。

    不幸的是,没有一个内置函数可以返回特定资源的完整URL,包括主机名和协议。部分原因是您可以通过多种方式访问URL…服务器完全不可知主机名。您必须查看request.url属性才能根据用户的请求生成新的url,或者使用servervariables。

    请参阅此问题: How to Convert "~/default.aspx" to "http://www.website.com/default.aspx" C#?

    推荐文章