【问题标题】:Get base64 image from public highchart export server从公共 highchart 导出服务器获取 base64 图像
【发布时间】:2015-11-06 18:30:14
【问题描述】:

有没有办法从 highcharts 公共导出服务器获取 base64 图像(而不是 png、jpg、pdf)?

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

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

【问题讨论】:

    标签: javascript highcharts base64 frontend highstock


    【解决方案1】:

    由于这是我想从后端执行的操作,并且不需要先渲染图表,因此我最终从公共导出服务器获取图像,然后使用 RestSharp 从后端将其转换为 base64 以执行请求(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);
        }
    

    【讨论】:

      【解决方案2】:

      我在下拉菜单中看不到 base64 选项。所以可能答案是否定的。

      但您可以获取 png、jpg 或其他格式并使用 base64 online 之类的内容对其进行编码。

      【讨论】:

      • 我想要做的是在服务器端渲染图表并将它们存储为base64。我可以按照highcharts.com/docs/export-module/render-charts-serverside 此处的说明设置一个小型网络服务器,但这意味着我需要托管它,我正在尝试弄清楚这是否是我可以避免的。
      【解决方案3】:

      很晚才发布但是您可以从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);})

      【讨论】:

        猜你喜欢
        • 2018-05-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多