Как искать .jpg/PDF только по имени файла (Поиск dog.jpg просто по собаке) Можно ли это сделать? С#

Есть ли способ поиска jpg или PDF, если у вас есть только имя файла?

Dummy site: www.dummysite1.com/animal=dog

Что я хочу сделать, так это проанализировать URL-адрес, взять проанализированное имя «собака» и выполнить поиск в папке .jpg с тем же именем.

Итак, скажем, у меня есть папка с именем «imgAnimal», после того как я проанализирую «dog», я хочу найти в папке «imgAnimal» «dog.jpg». Затем я хочу открыть «dog.jpg» в другом окне.

Я не знаю, лучший ли это способ сделать это или даже возможно, но я просто подумал о способе и не был знаком с С#, и это то, что я придумал. В папке будет много изображений, поэтому я не знаю, будет ли лучше всего искать их все или это будет иметь значение.

Любые идеи приветствуются. Я НЕ ДОЛЖЕН делать это таким образом, если есть лучший способ. Спасибо.

Редактировать:

У меня есть проанализированный код и все, что связано с извлечением написанной части URL. Единственное, что я действительно спрашиваю, - есть ли способ в C # взять такое слово, как «собака», и использовать его в поиске, чтобы найти «dog.jpg», а затем открыть этот jpg в новом веб-окне?


person JavaTheScript    schedule 30.05.2013    source источник


Ответы (1)


Вы можете использовать System.DirectoryInfo.GetFiles. способ найти файл:

string param = GetParamFromQueryString();
string relativeWebServerPathToFolder = "../images/imgAnimal";

var dirInfo = new DirectoryInfo(Server.MapPath(relativeWebServerPathToFolder));

var foundFiles = dirInfo.GetFiles(param + ".jpg"); // you can also use + ".*" to search for all files

if (foundFiles.Length == 1)
{
    ClientScript.RegisterStartupScript(this.GetType(), "openFoundImage", "window.open('" + relativeWebServerPathToFolder + foundFiles.Name + "');", true); // registers a script block to pop open the file
}

Документы для ClientScript.RegisterStartupScript: http://msdn.microsoft.com/en-us/library/z9h4dk8y.aspx

person Sean Airey    schedule 30.05.2013
comment
+1 за RegisterStartupScript(). Не могу поверить, что я пропустил эту часть! - person Jeffrey Blake; 30.05.2013