2012-06-28 40 views
9

thể trùng lặp:
Get file name from URI string in C#Làm thế nào để trích xuất tên tập tin từ một Uri trong C#?

Làm thế nào để trích xuất tên tập tin từ một Uri trong C#?

ví dụ, tôi có một Uri

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

nhưng làm thế nào để trích xuất các tên file

"audacity-win-2.0.exe" 

và lưu nó như là một chuỗi?

Cảm ơn bạn,

Jerry

+0

Xem câu trả lời của tôi http://stackoverflow.com/a/40361205/64334 –

Trả lời

6

Làm thế nào về

Path.GetFileName(string path); 

Trong trường hợp của bạn đầu tiên bạn nên kiểm tra xem nó là một tập tin.

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

nó sẽ cung cấp cho bạn không có gì để tên tập tin. – scegg

+8

Điều này có thể cũ nhưng với phương pháp này cho ví dụ bạn sẽ nhận được chuỗi rỗng trên tên tệp vì IsFile chỉ đúng khi bạn đưa ra một tệp: // type URI –

0

Nó không phải là an toàn để giả định rằng một URI sẽ luôn luôn đại diện cho tập tin vật lý do đó giải nén tên tập tin từ một URI không phải luôn luôn được bảo đảm.

2

Ví dụ:

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

Path.GetFileName thể làm điều đó ...

 Uri u = new Uri("http://audacity.googlecode.com/files/audacity-win-2.0.exe"); 
     Path.GetFileName(u.AbsolutePath); 
Các vấn đề liên quan