我已经安装了 phantomjs(使用 npm -g 选项)并从 github 目录中复制了相关的 highchart 文件。这是目录列表的样子 - 我 chmod/chown 将所有内容都打开,以防万一出现问题
drwxrwxrwx 2 www-data www-data 4096 2013-08-30 15:01 ./
drwxr-xr-x 9 root root 4096 2013-08-29 18:11 ../
-rwxrwxrwx 1 www-data www-data 183 2013-08-30 13:43 callback.js*
-rwxrwxrwx 1 www-data www-data 4436 2013-08-30 13:34 data.js*
-rwxrwxrwx 1 www-data www-data 15464 2013-08-30 13:34 highcharts-convert.js*
-rwxrwxrwx 1 www-data www-data 139290 2013-08-30 13:34 highcharts.js*
-rwxrwxrwx 1 www-data www-data 21781 2013-08-30 13:34 highcharts-more.js*
-rwxrwxrwx 1 www-data www-data 173186 2013-08-30 13:34 highstock.js*
-rwxrwxrwx 1 www-data www-data 92629 2013-08-30 13:34 jquery.1.9.1.min.js*
-rwxrwxrwx 1 www-data www-data 223 2013-08-30 13:55 options1.json*
-rwxrwxrwx 1 www-data www-data 3249 2013-08-30 13:34 readme.md*
命令行按预期工作:
phantomjs highcharts-convert.js -infile options1.json -outfile chart1.png -scale 2.5 -width 300 -constr Chart -callback
创建chart1.png - 它看起来像我所期望的。我可以使用此命令启动网络服务器
phantomjs highcharts-convert.js -host 0.0.0.0 -port 8080
好的,PhantomJS 准备好了。
我创建了一个简短的 js 来发送帖子数据
var p ={"infile":"{xAxis: {categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']},series: [{data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]}]};","outfile":"test1.png","constr":"Chart"}
console.log('success');
data=JSON.stringify(p);
$.ajax({
type: 'POST',
data: data,
url: 'http://myip:8080',
success: function(data) {
console.log('success');
}
});
这会返回一个 200 代码,但不会向浏览器返回任何数据。我在 highcharts-convert.js = console.log(msg); 中取消了第 107 行的注释。
所以我得到这个输出
Highcharts.options.parsed
Highcharts.customCode.parsed
Highcharts.images.loaded
但没有我能找到的图像。想法?
编辑
卷曲正在工作
curl -H "Content-Type: application/json" -X POST -d '{"infile":"{xAxis: {},series: [{data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]}]};","constr":"Chart","outfile":"/var/www/node/image/chart.png"}' 127.0.0.1:8080
除了我得到一个base64字符串而不是保存图像的脚本。我从这里得到了部分卷曲:http ://www.highcharts.com/component/content/article/2-news/56-improved-image-export-with-phantomjs