АСП.НЕТ:Путь.Объединить с относительными путями.

StackOverflow https://stackoverflow.com/questions/1149949

Вопрос

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

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

Это было полезно?

Решение

Вы ищете 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
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top