Наконец, я сделал это сам.
вот код
Вот javascript после создания диаграммы ..
var data = {
type: 'POST',
options: JSON.stringify(options),
filename: 'test.png',
type: 'image/png',
async: true
};
var exportUrl = 'https://export.highcharts.com/'
$.post(exportUrl, data, function (data) {
var imageUrl = exportUrl + data
var urlCreator = window.URL || window.webkitURL
document.getElementById('<%= hf2.ClientID %>').value=imageUrl;
})
Теперь код бэкэнда чтобы получить imageurl и сохранить как байт Мой код находится в Vb. net
saveimage(hf1.Value, _Fname)
, где fname - имя файла, я хочу сгенерировать имя файла динамически. поэтому у меня есть другая функция для этого
Public Sub saveimage(ByVal _url As String, ByVal _filename As String)
_filename = Server.MapPath(".") + "\Charts\" & _filename
save_file_from_url( _filename, _url)
End Sub
Public Sub save_file_from_url(ByVal file_name As String, ByVal url As String)
Dim content As Byte()
Dim request As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
Dim response As WebResponse = request.GetResponse()
Dim stream As Stream = response.GetResponseStream()
Using br As BinaryReader = New BinaryReader(stream)
content = br.ReadBytes(500000)
br.Close()
End Using
response.Close()
Dim fs As FileStream = New FileStream(file_name, FileMode.Create)
Dim bw As BinaryWriter = New BinaryWriter(fs)
Try
bw.Write(content)
Finally
fs.Close()
bw.Close()
End Try
End Sub
Это очень легко и просто, но множество примеров кодов, которые я видел в net, очень сложны и непрактичны.