2012-03-01 35 views

Trả lời

13

Lớp học Uri là bạn của bạn.

Cung cấp đại diện đối tượng của mã định danh tài nguyên thống nhất (URI) và dễ dàng truy cập vào các phần của URI.

IsFile sẽ cố gắng xác định xem Uri có thực sự trỏ đến tệp hay không.

Sử dụng thuộc tính Segements để lấy tên tệp (nó sẽ là phân đoạn cuối cùng).

Uri uri = new Uri("http://example.com/title/index.htm"); 
var filename = uri.Segments[uri.Segments.Length - 1]; 
// filename == "index.htm" 
+0

Thanks/hoạt động tốt, ngoại trừ isFile đó mang lại cho tôi sai trên uristring này: [link] (http : //www.example.com/foo/bar/banner/enu_wide_small_219x113_white.gif) – Muleskinner

+0

isFile sẽ chỉ trả về true nếu url là của tệp biểu mẫu: // – Lukos

0

Bạn có thể sử dụng Server.MapPath() để ánh xạ đường dẫn vật lý từ đường dẫn ảo.

Ngoài ra, có một số phương pháp trong số HTTPUtility sẽ giúp bạn lập bản đồ các loại đường dẫn khác nhau.

0

Có nhiều cách, bản mô tả chính là here
Biện pháp khai thác lớp Uri và có thể xảy ra lỗi khi cần.

1

Bạn có thể dính vào việc tạo đối tượng Uri hoặc nếu bạn quan tâm đến một cái gì đó sử dụng hiệu suất tương tự như này:

public class UriHelpers 
    { 
     public static string GetFileNameFromUrl(string url) 
     { 
      string lastSegment = url.Split('/').Last(); 

      return lastSegment.Substring(0, lastSegment.IndexOf('?') < 0 ? lastSegment.Length : lastSegment.IndexOf('?')); 
     } 
    } 
Các vấn đề liên quan