Như chúng ta biết rằng một direcoty ảo có thể được liên kết với một thư mục với một tên khác, làm thế nào tôi có thể nhận được đường dẫn vật lý của một thư mục ảo?Làm thế nào để có được đường dẫn vật lý ảo
Tôi đã thử với HttpContext.Current.server.MapPath nhưng nó trả về cho tôi đường dẫn vật lý cộng với đường dẫn tôi gửi tham số ngay cả khi thư mục không tồn tại hoặc nếu nó tồn tại với tên khác.
dụ:
C: \ blabla \ Sites \ Application1 \ Imaageesss - Mở đĩa
Application1 \ Images (Trong ISS, thư mục virutal của tôi)
Nhưng nếu tôi làm một MapPath trên "/ Hình ảnh" nó sẽ không bao giờ cho tôi C: \ blabla \ Sites \ Application1 \ Imaageesss nhưng C: \ inetpub \ wwwroot \ Hình ảnh không phải là thư mục thực được liên kết đến.
Tất cả câu trả lời dưới đây không giải quyết được sự cố. Tôi cho rằng MapPath không đủ thông minh để kiểm tra xem đó có phải là thư mục IIS ảo hay không. Nó chỉ thêm đường dẫn gốc của ứng dụng vào đường dẫn bạn cung cấp. Rất tiếc, tôi không thể tìm thấy giải pháp cho điều này ngay cả sau khi tìm kiếm trên web một cách mạnh mẽ. – needfulthing
Tìm cách, xem câu trả lời bên dưới. – needfulthing
Tôi gặp vấn đề tương tự trong hai trường hợp khác nhau. Tôi đã phải gọi 'Server.MapPath ("/Application1/Images/image.jpg ")' thay vì 'Server.MapPath ("/Images/image.jpg ")' trong một tình huống, và cái kia nó chỉ hóa ra tôi mis-tham chiếu tên thư mục ảo của tôi trong ứng dụng của tôi. Tôi đã có cùng một kết quả mà OP đã trải qua cho đến khi tôi làm được những điều này. Chỉ cần nghĩ rằng tôi muốn thêm vào ... – ionalchemist