2012-06-28 5 views
9

Можно создать дубликат:
Get file name from URI string in C#Как извлечь имя файла из Uri в C#?

Как извлечь имя файла из Ури в C#?

, например, у меня есть Uri

"http://audacity.googlecode.com/files/audacity-win-2.0.exe" 

но как извлечь имя файла

"audacity-win-2.0.exe" 

и сохранить его в виде строки?

Спасибо,

Джерри

+0

Смотрите мой ответ http://stackoverflow.com/a/40361205/64334 –

ответ

6

Как насчет

Path.GetFileName(string path); 

В вашем случае вы должны сначала проверить, является ли файл.

Uri u = new Uri("http://audacity.googlecode.com/files/audacity-win-2.0.exe") 
string filename = string.Empty; 

if (u.IsFile) 
    filename = Path.GetFileName(u.AbsolutePath); 
+0

это не даст вам ничего файла. – scegg

+8

Это может быть старым, но с помощью этого метода для примера вы получите пустую строку в имени файла, так как IsFile имеет значение true, когда вы указываете файл: // URI типа URI –

0

Это не безопасно предположить, что URI всегда будет представлять собой физические файлы поэтому извлечение имени файла из URI не всегда гарантировано.

2

E.g.

Uri uri = new Uri("http://audacity.googlecode.com/files/audacity-win-2.0.exe"); 
string Path.GetFileName(uri.AbsolutePath); 
5

Path.GetFileName может это сделать ...

 Uri u = new Uri("http://audacity.googlecode.com/files/audacity-win-2.0.exe"); 
     Path.GetFileName(u.AbsolutePath); 
Смежные вопросы