В моем классе 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, но есть ли какой-нибудь встроенный метод, который позаботится обо всем этом для меня?
Редактировать: Чтобы уточнить, не делая мой собственный анализ строки, как мне перейти от этого:
* * 1010
к этому:
"/mydirectory/foo.txt"
Я ищу существующий метод, такой как:
public string GetRelativeUrl(string filePath) { }