2016-10-17 3 views
0

Я хочу найти путь изображения, но я этого не сделал.Как найти путь изображения в C#?

мой образ пути: C: \ Works \ Web5.1.0 \ Src \ Works.WebNext \ Password \ активы \ IMG мое имя изображения: reset_password.jpg

Я попытался это: string path2 = Path.GetFullPath("reset_password.jpg"); но это неправильный путь (output: C:\Windows\System32\inetsrv)

и попытался это:

string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase); 
string a = Path.Combine(path, "reset_password.jpg"); 

output : (C:\Works\Web5.1.0\Src\Works.WebNext\bin) 

Я думаю, результат должен быть таким: C:\Works\Web5.1.0\Src\Works.WebNext\Password\assets\img

еще одна вещь: путь к изображению может быть не таким же, как на другом компьютере, поэтому я думаю, что конкретный путь неправильный (например: C: \ Works \ Web5.1.0 \ Src \ Works.WebNext \ Password \ assets \ img)

X computer : C:\Works\Web5.1.0\Src\Works.WebNext\Password\assets\img 
Y computer : C:\Works\Web\Src\Works.WebNext\Password\assets\img 

Кстати, я пишу с C#.

Как я могу это сделать? Любые идеи, пожалуйста.

+0

Вы не можете просто передавая имя изображения найти свой путь. – SeM

ответ

2

Я не уверен, что я понял вопрос, но представление о том, как найти тот же файл на многих системах:

AppDomain.CurrentDomain.BaseDirectory 

Это даст вам расположение папки, в которой находится исполняемый исполняемый файл. Вывод находится в формате «C: \ Folder \ Folder \ WindowsFormsApplication1 \ WindowsFormsApplication1 \ bin \ Debug \".

Итак, вы можете поместить изображение в ту же папку, что и .exe, добавить «imagefilename.type», и вы должны его найти.

Просьба уточнить, не отвечает ли это на ваш вопрос.

+1

Хороший ответ. Большое спасибо ! @Julis A – eagle

0

После код даст вам желаемый выход

string folderPath = @"C:\Works\Web5.1.0\Src\Works.WebNext\Password\assets\img"; 
string imgFilePath = Path.Combine(folderPath, "reset_password.jpg") 

Assembly.GetExecutingAssembly() дает путь к текущему рабочему каталогу, т.е. пути от того, где ваших исполняемых файлов выполняются в настоящее время (в вашем случае его папку «бин»)

+0

Но путь к изображению может быть не таким же, как на другом компьютере. Правильно ли указать конкретный путь? @Amey Kamat – eagle

+0

Вы можете выбрать путь к папке с помощью ключа в вашем config (App.Config) или использовать «Относительный путь» и сохранить изображение в папке, которая будет находиться в папке Release. –

0

Попробуйте this- в веб-приложениях

string imagePath = "/Password/"; /* Your Image folder */ 
    string path = Server.MapPath(@"ImagePath" + imagePath); 

в ОС Windows APPLICATION-

try 
     { 
      System.IO.DirectoryInfo directory = new DirectoryInfo(@"Your local Image directory inside bin/debug"); 

      FileInfo result = null; 
      var list = directory.GetFiles(); // Stackoverflow Exception occurs here 
      if (list.Count() > 0) 
      { 
       result = list.OrderByDescending(f => f.LastWriteTime).First(); 
      } 
      return result; 
     } 
     catch (Exception ex) 
     { 

      throw ex; 
     } 

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

  • Нет связанных вопросов^_^