1

我的 aspx 页面中有一个 syncfusion chartwebcontrol,我需要将图表保存到数据库中的二进制列中。我不确定如何将同步控件的图像转换为字节形式。

4

1 回答 1

0

您可以通过 using方法保存ChartWebControl为,然后使用概念将此图像转换为二进制数据并将此二进制数据保存在数据库中。您可以使用类将图表图像转换为二进制。ImageSaveImageStreamFile 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);
}
于 2012-09-14T07:25:12.373 回答