2017-11-29 14 views
0

이 코드를 사용하여 이미지를 test.png 파일에 저장하려고합니다.NodeJS 하이 차트 저장 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가 생성되지 않습니다.

+0

이 코드는 서버에 일부 데이터를 전송합니다. 이 서버가하는 일은 알려지지 않았습니다. – LMokrane

답변

1

이미지가 callback 함수의 body 개체에 있어야합니다 (서버가 올바르게 작동한다고 가정합니다).

이제 파일 시스템에 저장해야합니다. 그것은 다음과 같이 수행 할 수 있습니다 : 나는 base64 인코딩 (b64)의 dataString에서 플래그를 추가

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

. 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