Я хочу сохранить изображения в базе данных доступа, я использовал объект OLE.Параметр недопустим, при преобразовании массива байтов в изображение
Идея состоит в том, чтобы преобразовать изображение в массив байтов, а затем добавить массив байтов в базу данных.
это функция:
public static byte[] ImageToByte(Image img)
{
ImageConverter converter = new ImageConverter();
return (byte[])converter.ConvertTo(img, typeof(byte[]));
}
это работает отлично.
Когда я хочу, чтобы вернуть массив байтов в изображение я получаю исключение:
аргумент исключение было необработанное Параметр не является допустимым.
Я попробовал две функции, чтобы преобразовать массив байтов в изображение:
public static Image ImageFromByte(byte[] image)
{
ImageConverter ic = new ImageConverter();
Image img = (Image)ic.ConvertFrom(image);//here the exception comes
return img;
}
ИЛИ:
public static Image ImageFromByte1(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);//here the exception comes
return returnImage;
}
В чем проблема, как исправить это?
Как вы помещаете в базу данных в первую очередь? –
Я редактировал вопрос, смотри. –
Если вы пишете тест для кода и протестируете его с помощью некоторого действительного растрового изображения, например. файл или тот, который вы только что составили, тогда у вас будет лучшая идея. Я могу придумать несколько способов положить его или вытащить из db, возможно, пошел соски. –