Как получить двоичные данные syncfusion chartwebcontrol для сохранения в БД? - PullRequest
1 голос
/ 21 октября 2011

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

1 Ответ

0 голосов
/ 14 сентября 2012

Вы можете сохранить 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);
}
...