从 public highchart 导出服务器获取 base64 图像

Get base64 image from public highchart export server

有什么方法可以从 highcharts public 导出服务器获取 base64 图像(而不是 png、jpg、pdf)?

服务器:http://export.highcharts.com/

编辑: 我想要做的是在服务器端呈现图表并将它们存储为 base64。我可以按照这里的说明设置一个小型网络服务器来做到这一点 highcharts.com/docs/export-module/render-charts-serverside 但这意味着我需要在某个地方托管它,我想弄清楚我是否可以这样做避免。

我在下拉列表中没有看到选项 base64。所以可能答案是否定的。

但你可以获得 png、jpg 或其他格式,然后使用 base64 online 之类的东西对其进行编码。

因为这是我想从后端做的事情,不需要先渲染图表,所以我最终从 public 导出服务器获取图像,然后从后端将其转换为 base64使用 RestSharp 执行请求 (C#)

public static string Render(Well well, string type)
    {
        var client = new RestClient("http://export.highcharts.com");

        StringBuilder json = new StringBuilder('the options of the chart');

        var request = new RestRequest("/", Method.POST);
        request.AddHeader("Content-Type", "multipart/form-data");
        request.AddParameter("content", "options");
        request.AddParameter("options", json);
        request.AddParameter("constr", "Chart");
        request.AddParameter("type", "image/png");
        var response = (RestResponse) client.Execute(request);
        return Convert.ToBase64String(response.RawBytes);
    }

到 post 已经很晚了,但是您可以从 http://export.highcharts.com 获得 base64。 您需要在 Request

中传递以下配置
let chartData = {
        infile: CHART_DATA,
        b64: true // Bool, set to true to get base64 back instead of binary.
        width: 600,
        constr : "Chart"
    }

你可以使用下面的例子

fetch("https://export.highcharts.com/", {
  "headers": {
    "content-type": "application/json",
  },
  "body": "{\"infile\":\"{\n    \\"xAxis\\": {\n        \\"categories\\": [\n            \\"Jan\\",\n            \\"Feb\\",\n            \\"Mar\\",\n            \\"Apr\\",\n            \\"May\\",\n            \\"Jun\\",\n            \\"Jul\\",\n            \\"Aug\\",\n            \\"Sep\\",\n            \\"Oct\\",\n            \\"Nov\\",\n            \\"Dec\\"\n        ]\n    },\n    \\"series\\": [\n        {\n            \\"data\\": [1,3,2,4],\n            \\"type\\": \\"line\\"\n        },\n        {\n            \\"data\\": [5,3,4,2],\n            \\"type\\":\\"line\\"\n        }\n    ]\n}\n\",\"width\":600,\"constr\":\"Chart\",\"b64\":true}",
  "method": "POST",
  "mode": "cors"
}).then(function(response) {
    // The response is a Response instance.
    return response.text();
  }).then(function(data) {
    console.log(data);  //  base64 data
  }).catch(function(err) { console.log(err);})