Как получить двоичные данные syncfusion chartwebcontrol для сохранения в БД?

У меня есть элемент управления syncfusion chartwebcontrol на моей странице aspx, и мне нужно сохранить диаграмму в базе данных в двоичном столбце. Я не уверен, как преобразовать изображение элемента управления синхронизацией в байтовую форму.


person Howard Tucker    schedule 21.10.2011    source источник


Ответы (1)


Вы можете сохранить ChartWebControl как Image, используя метод SaveImage, затем преобразовать это изображение в двоичные данные, используя концепцию Stream, и сохранить эти двоичные данные в базе данных. Вы можете использовать класс File Stream для преобразования изображения диаграммы в двоичное.

Пожалуйста, обратитесь к фрагменту кода ниже

[C#]

this.ChartWebControl1.SaveImage(Server.MapPath("Chart.png"));
byte[] buffer = ImageToBinary(Server.MapPath("Chart.png"));
//Insert the above buffer data to db for chart image binary data
--------------------------------
public static byte[] ImageToBinary(string imagePath)
{
    FileStream fileStream = new FileStream(imagePath, FileMode.Open, FileAccess.Read);
    byte[] buffer = new byte[fileStream.Length];
    fileStream.Read(buffer, 0, (int)fileStream.Length);
    fileStream.Close();
    return buffer;
}

Вы можете преобразовать двоичные данные обратно в изображения. См. Фрагмент кода ниже.

[C#]

public static Image BinaryToImage(System.Data.Linq.Binary binaryData)
{
    if (binaryData == null) return null;
    byte[] buffer = binaryData.ToArray();
    MemoryStream memStream = new MemoryStream();
    memStream.Write(buffer, 0, buffer.Length);
    return Image.FromStream(memStream);
}
person Viji    schedule 14.09.2012