我正在尝试捕获一个highcharts图表并将其POST到一个PHP文件中 (result.php)。我现在能够捕获图像,但我不知道如何将捕获的图像POST到另一个文件。到目前为止,我有这个返回PNG图像的代码
function postChart(chart) {
var obj = {},chart;
obj.svg = chart.getSVG();
obj.type = 'image/png';
obj.async = true;
exportUrl = 'http://export.highcharts.com/';
$.ajax({
type: "POST",
url: exportUrl,
data: obj,
cache:false,
async:true,
crossDomain:true,
success: function (data) {
// How to Send Image to result.php
},
error: function(data) {
}
});
}
并将此result.php文件改为:
<?php
$content = $_POST['Not Sure What!'];
echo $content;
现在,请您告诉我可以放入什么
成功:功能(数据){
// How to Send Result to another Page },
将图像发布到result.php以及如何修改result.php。感谢
答案 0 :(得分:1)
您可以使用高保真的exportChart API赞
function postChart(chart) {
chart.exportChart({
url : 'path/to/result.php',
type: 'image/png',
filename: 'my-chart'
});
}
然后从result.php中,您将能够访问$ _POST变量。其中包含以下数组,其中$_POST['svg']
是svg格式的图像。
array (
'filename' => 'my-chart',
'type' => 'image/png',
'width' => '0',
'scale' => '2',
'svg' => '',
)
然后,您可以使用高保真的server side script将图像从svg转换为所需的格式。
如果您不想使用java库进行转换,也可以尝试this
快乐编码!!
答案 1 :(得分:0)
仅当您的php脚本位于http://export.highcharts.com/
(因为您将crossDomain
属性设置为true
)
在你的ajax方法中:
变化:
data: obj,
TO:
data: {
objName: obj,
}
然后在result.php中:
<?php
var_dump($_FILES['objName']);
// If you're interested, what else is inside $_FILES
var_dump($_FILES);
答案 2 :(得分:0)
不完全确定你要问的是什么。这可能会有所帮助。
在上传文件时使用$_FILES
。它与$_POST
完全相同,但对于文件。
您可以使用$_FILES
从文件中收集一系列变量。
<?
$tempname = $_FILES['file']['tmp_name'];
$filetype = $_FILES["file"]["type"];
$filesize = $_FILES['file']['size'];
?>
在上面的例子中,这引用了名为&#34; file&#34;的文件。