Сохранить изображение в Sql Server изображение в поле изображения с помощью C # и Subsonic - PullRequest
0 голосов
/ 24 октября 2011

В приложении ASP.NET (с использованием framework 2.0) ORM для этого приложения - Subsonic 2.2, с которым я работаю впервые.

У меня есть изображение, которое я извлек из URL, и у меня есть объект HttpWebresponse, который я преобразовал в изображение, например:

    string uri = ...;
    HttpWebRequest lxRequest = (HttpWebRequest) WebRequest.Create(uri);
    HttpWebResponse lxResponse = (HttpWebResponse) lxRequest.GetResponse();
    System.Drawing.Image image = System.Drawing.Image.FromStream(lxResponse.GetResponseStream());

На Sql Server я создал столбец Image (может быть любой другой двоичный формат, это не проблема), и я хотел бы записать в него свое изображение. Я также хотел бы знать, как читать из столбца, чтобы проверить правильность сохранения изображения.

Любая помощь приветствуется. Спасибо.

Ответы [ 2 ]

1 голос
/ 24 октября 2011

Для столбца image Subsonic создает свойство byte[].

Следовательно, вам придется преобразовать ваши данные (System.Drawing.Image в данном случае) в и из байтового массива.

Другие сайты имеют это покрытое, бесстыдно скопированное:

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

public Image byteArrayToImage(byte[] byteArrayIn)
{
     MemoryStream ms = new MemoryStream(byteArrayIn);
     Image returnImage = Image.FromStream(ms);
     return returnImage;
}
0 голосов
/ 24 октября 2011

Посмотрел Чтение и запись данных изображения SQL , это может помочь вам

...