ahmed_sa Ответов: 1

Как конвертировать изображения jpg из path в varbinary(MAX) в базе данных ?


Проблема

Как конвертировать изображения jpg из path в varbinary(MAX) в базе данных ?

Подробности

У меня есть таблица ImagesData есть два поля

Специальный код nvarchar(20)

imagebinary varbinary(макс.)

Мне нужно обновить изображения из path D:/Images к таблице ImagesData на основе специального кода

чтобы показать более ясно

1 - на моем жестком диске у меня есть диск D есть изображения папок, так что путь будет D:/Images

2 - в D:/Images папка у меня есть картинки JPG может быть 100 изображений следующим образом

имена изображений в D:/Images путь следующий

0001-1

000002-5

00001-3

0004-2

008523-1

В таблице my path ImagesData мои данные выглядят следующим образом

Специальный код imageBinary

0001/1

000002/5

00001/3

0004/2

на самом деле, когда имя изображения существует на пути Изображения D:/Images соответствует специальному коду в таблице

обновление поля imagebinary в двоичный файл путем преобразования изображения по пути D:/Images в двоичный файл затем обновите его на поле imagebinary когда специальный код изображения на пути D:/images соответствует специальному коду на таблице ImagesData

если нет совпадений, не обновляйте его .

Пример

if((imagepath 0001-1 == 0001/1 из таблицы imagesData)

{

обновление поля imagebinaryon стол imagesData путем преобразования изображения в двоичный это, потому что он соответствует

}

еще

{

не обновлять, потому что он не соответствует

}

Можете ли вы помочь мне, пожалуйста, о том, что

подводя итог тому, что мне нужно

мне нужно обновить поле как двоичное при сопоставлении специального кода на таблице с именем изображения на пути D:/Images


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

public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
 MemoryStream ms = new MemoryStream();
 imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
 return  ms.ToArray();
}

1 Ответов

Рейтинг:
0

OriginalGriff

Попробуй:

byte[] bytes = File.ReadAllBytes(pathToFile);
using (SqlConnection con = new SqlConnection(strConnect))
    {
    con.Open();
    using (SqlCommand cmd = new SqlCommand("UPDATE ImagesData SET imagebinary=@BD WHERE SpecialCode=@SC", con))
        {
        cmd.Parameters.AddWithValue("@SC", specialCodeIdentifier);
        cmd.Parameters.AddWithValue("@BD", bytes);
        cmd.ExecuteNonQuery();
        }
    }


Maciej Los

5ed!