У меня проблемы с сохранением изображений в локальном файле. Все остальные выглядят прекрасно, но изображение не просто сохраняет. Вот фрагмент моего кода.Сохранение диаграмм RGraph локальному компьютеру
function saveImage(){
var xmlhttp;
xmlhttp=((window.XMLHttpRequest)?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP"));
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
//do something with the response
}
}
xmlhttp.open("POST","ajxstuff.php",true);
var oldCanvas = document.getElementById('cvs').toDataURL("image/png");
var img = new Image();
img.src = oldCanvas;
xmlhttp.setRequestHeader("Content-type", "application/upload")
xmlhttp.send(oldCanvas);
}
Вот ajxstuff.php
<?php
if (isset($GLOBALS["HTTP_RAW_POST_DATA"]))
{
// Get the data like you would with traditional post
$rawImage=$GLOBALS['HTTP_RAW_POST_DATA'];
// Remove the headers
$removeHeaders=substr($rawImage, strpos($rawImage, ",")+1);
// decode it from base 64 and into image data only
$decode=base64_decode($removeHeaders);
// save to your server
$saveName = 'C:\Users\Administrator\Downloads\image009.png';
$fopen = fopen($saveName, 'wb');
fwrite($fopen, $decode);
fclose($fopen);
}
?>
Что на самом деле происходит, когда вы запускаете код? Есть ли ошибки? Что говорят об ошибках? – Kenster
Я использую это для создания отчета. Это не дает никакой ошибки. Отчеты отображаются без графика. Он не получает сохранение в указанном каталоге. –
Если вы используете jQuery, чтобы помочь с вашим AJAX, это будет означать, что вам нужно написать меньше постороннего кода. Например $ .post ('ajxstuff.php', function() {/ * Функция обратного вызова * /}) – Richard