2009-07-19 3 views
2

Я пытаюсь преобразовать «~/Uploads/Images /» в абсолютный путь, из которого я могу создать FileStream. Я пробовал VirtualPathUtility и Path.Combine, но ничто, кажется, не дает мне правильный путь. Самое близкое, что я получил, это VirtualPathUtility.ToAppRelative, но это было просто местоположение файла как прямой ребенок C :.ASP.NET: Path.Combine с относительными путями

Должен быть способ сделать это.

+0

ли вы хотите абсолютный путь или абсолютный URL? – tvanfosson

ответ

8

Вы ищете метод MapPath.

// get the path in the local file system that corresponds to ~/Uploads/Images 
string localPath = HttpContext.Current.Server.MapPath("~/Uploads/Images/"); 

Используйте его вместе с Path.Combine, чтобы создать путь к файлу:

string fileName = Path.Combine(
         HttpContext.Current.Server.MapPath("~/Uploads/Images/"), 
         "filename.ext"); 
using (FileStream stream = File.OpenRead(fileName)) 
{ 
    // read the file 
} 
+0

Это здорово, спасибо. – Echilon

Смежные вопросы