Использование относительных путей в C # - PullRequest
0 голосов
/ 29 мая 2019

Я пытаюсь заполнить свою базу данных изображением.Я могу сделать это успешно, используя абсолютный путь, однако это не будет работать как постоянное решение.

 Image = File.ReadAllBytes(@"E:\Graded Unit\Implementation\YorkiesVehicleHire\YorkiesVehicleHire\Images\Ferrari488.jpg"),

Как я могу получить тот же путь, так что решайте.Используя что-то вроде

~\Images\Ferrari488.jpg

Любая помощь будет оценена.

1 Ответ

1 голос
/ 29 мая 2019

Для получения только имени файла из пути вы можете использовать Path.GetFileName('path');, который в вашем случае вы можете получить имя файла сначала как:

var fileName = System.IO.Path.GetFileName(@"E:\Graded Unit\Implementation\YorkiesVehicleHire\YorkiesVehicleHire\Images\Ferrari488.jpg");
//filename will now only contain: Ferrari488.jpg

//Now let's concatenate it with ~/Images/
var storingPath= "~\Images\" + fileName;

Теперь для абсолютного пути попробуйте использовать Server.MapPath("~")который возвращает физический путь к корню приложения.

Так что в вашем случае, если вы хотите получить абсолютный путь для ~\Images\Ferrari488.jpg, он будет выглядеть следующим образом: Server.MapPath("~\Images\Ferrari488.jpg"); или System.Web.HttpContext.Current.Server.MapPath("~\Images\Ferrari488.jpg");

ИЛИ

var absolutePath = System.Web.HttpContext.Current.Server.MapPath(storingPath);
Image = File.ReadAllBytes(absolutePath);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...