NodeJS高图保存png

时间:2017-11-29 12:37:29

标签: javascript node.js highcharts png

我正在尝试使用此代码将图像保存到test.png文件中。

var request = require('request');

var headers = {
    'Content-Type': 'application/json'
};

var dataString = '{"infile":{"title": {"text": "Steep Chart"}, "xAxis": {"categories": ["Jan", "Feb", "Mar"]}, "series": [{"data": [29.9, 71.5, 106.4]}]},"outfile":"test.png"}';

var options = {
    url: 'http://127.0.0.1:7801',
    method: 'POST',
    headers: headers,
    body: dataString
};

function callback(error, response, body) {
    console.log(body);
}

request(options, callback);

请告诉我这段代码有什么问题。 outfile test.png没有生成。

1 个答案:

答案 0 :(得分:1)

您的图片应位于body功能的callback对象中(我假设您的服务器正常运行)。

现在您需要将其保存为文件系统。可以这样做:

function callback(error, response, body) {
  require("fs").writeFile("out.png", body, 'base64', function(err) {
    console.log(err);
  });
  console.log(error);
}

我在dataString base64编码(b64)中添加了标记。 base64并且工作正常。

var dataString = '{"infile":{"title": {"text": "Steep Chart"}, "xAxis": {"categories": ["Jan", "Feb", "Mar"]}, "series": [{"data": [29.9, 71.5, 106.4]}]},"outfile":"test.png", "b64": true}';

您可以在 API 中找到有关此标记的更多信息:https://github.com/highcharts/node-export-server/blob/master/README.md