【发布时间】:2011-08-16 06:22:14
【问题描述】:
在我的 IHttpHandler 类(对于 .ashx 页面)中,我想在目录中搜索某些文件,并返回相对 url。我可以得到文件,没问题:
string dirPath = context.Server.MapPath("~/mydirectory");
string[] files = Directory.GetFiles(dirPath, "*foo*.txt");
IEnumerable<string> relativeUrls = files.Select(f => WHAT GOES HERE? );
将文件路径转换为相对 url 的最简单方法是什么?如果我在一个 aspx 页面中,我可以说this.ResolveUrl()。我知道我可以进行一些字符串解析和字符串替换来获取相对 url,但是有没有一些内置方法可以为我处理所有这些?
编辑:澄清一下,不做我自己的字符串解析,我该怎么做:
"E:\Webs\WebApp1\WebRoot\mydirectory\foo.txt"
到这里:
"/mydirectory/foo.txt"
我正在寻找现有的方法,例如:
public string GetRelativeUrl(string filePath) { }
【问题讨论】:
-
第一个链接与将 from url 转换为 virtual 路径有关。我需要从文件系统路径转到 url。第二个链接使用
Control.ResolveUrl,我不能在通用处理程序中使用它(或者至少,我不知道如何使用)。 -
我的错,我在标签页中打开了不止几个重复项,请允许我有时间找到更多,或者如果找不到,请为您发布解决方案。
标签: c# asp.net httphandler