Member 11297177 Ответов: 3

Файл не найден исключение было необработано (system.byte[])


pictureBox1.Image = Image.FromFile(dataGridView1.SelectedRows[0].Cells["dgimg"].Value.ToString());



Примечание: Я собираюсь получить данные grid-view в поле picture, извлекая данные, обращенные к системе.Байт[] проблема

Что я уже пробовал:

<pre>pictureBox1.Image = Image.FromFile(dataGridView1.SelectedRows[0].Cells["dgimg"].Value.ToString());



Примечание: Я собираюсь получить данные grid-view в поле picture, извлекая данные, обращенные к системе.Байт[] проблема

3 Ответов

Рейтинг:
6

Patrice T

Цитата:
Файл не найден исключение было необработано (system.byte[])

Какое слово вы не понимаете в слове "файл не найден" ?
Вам нужно получить имя файла и проверить его:
ImageFileName = dataGridView1.SelectedRows[0].Cells["dgimg"].Value.ToString();

Используя промежуточную переменную, вы можете распечатать искомое имя файла.


Рейтинг:
2

Garth J Lancaster

Я думаю, что вам нужно по крайней мере 2 вещи

1) обработчик исключений try/catch вокруг вашего кода файла

2) отладка выводит содержимое ячейки dataGridView1.SelectedRows[0].Ячейки["dgimg"].значение.ToString() и убедитесь, что значение представляет полный & правильный путь к файлу, а не только относительный путь .. кстати, если вы реализовали пункт (1) и зарегистрировали исключение, оно, вероятно, покажет существующий путь к файлу, и из этого вы можете получить проблему


Рейтинг:
13

OriginalGriff

Посмотрите на сообщение об ошибке:

File not found exception was unhandled
Это не могло бы быть яснее, если бы он попытался: файл, из которого вы сказали ему загрузить изображение, не существует.

Мы не можем помочь вам в этом: у нас нет никакого доступа к вашей файловой системе или какой - либо идеи о том, какой путь вы передаете методу, - и вам нужно попытаться решить, в чем может быть проблема.

Так что все будет зависеть от тебя.
К счастью, у вас есть инструмент, который поможет вам выяснить, что происходит: отладчик. Если вы не знаете, как его использовать, то быстрый Google для "Visual Studio debugger" должен дать вам необходимую информацию.

Поместите точку останова в первую строку функции и запустите код через отладчик. Затем посмотрите на свой код и на свои данные и определите, что должно произойти вручную. Затем по одному шагу в каждой строке проверяйте, что то, что вы ожидали, произойдет именно так, как и произошло. Когда это не так, тогда у вас есть проблема, и вы можете вернуться назад (или запустить ее снова и посмотреть более внимательно), чтобы выяснить, почему.

Извините, но мы не можем сделать это за вас - пришло время вам освоить новый (и очень, очень полезный) навык: отладку!


Garth J Lancaster

черт возьми, трудно опередить тебя в этом !

OriginalGriff

Я быстро печатаю.
А иногда даже точно! :смеяться:

Member 11297177

у меня есть таблица employee, я собираюсь сохранить данные о сотруднике с фотографией сотрудника и там я беру изображение типа данных для фотографии.

после сохранения моих данных в БД изображение сохраняется как system.byte[] поэтому, когда я пытаюсь обновить t

Member 11297177

при обновлении данных я сталкиваюсь с этой проблемой

Member 11297177

вот код, который я преобразования в двоичную
byte[] ConvertImageToBinary(Image img)
{
использование (MemoryStream ms = новый MemoryStream())
{
рис.Сохранить(МС, система.Рисование.Изображений.ImageFormat.Jpeg);
возвращение МС.Метод toArray();
}
}

OriginalGriff

И какое отношение все это имеет к чтению изображения из файла?
Вы же знаете, что такое "имидж".FromFile" делает, я полагаю?