2015-04-19 1 views
4

У меня есть пути к изображениям, хранящиеся в моей базе данных под столбцом Image в формате Images\ac.jpg Путь уже хранится в текстовом поле txtImage.Text. Я пытаюсь отобразить в элементе управления PictureBox, но я получаю следующее сообщение об ошибке:Извлечь изображение и отобразить в картинке с изображением, сохраненным в базе данных C#

An unhandled exception of type 'System.IO.FileNotFoundException' occurred in System.Drawing.dll

Additional information: Images\ac.jpg

pbImage.Image = System.Drawing.Image.FromFile(txtImage.Text); 

ответ

4

Вы должны указать полный путь к изображению на PictureBox. Относительный путь Images\ac.jpg не будет работать. Вам нужен абсолютный путь C:\Images\ac.jpg

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

string absolutePath = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), @"Images\ac.jpg"); 

pbCoffeeImage.Image = System.Drawing.Image.FromFile(absolutePath); 

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

+0

Я поменял его на полный путь в базе данных, и он сработал! Спасибо! – toastwizard

2

Images\ac.jpg - относительный путь, который разрешен относительно текущего рабочего пути вашего приложения. Ошибка сообщает вам, что в этом месте (workingPath\Images\ac.jpg) файл не существует. Я бы преобразовал его в абсолютный путь, добавив путь к папке «Картинки» в начале.