Я рендеринг собственного изображения на основе некоторых параметров по умолчанию и параметров в POST с помощью специального сценария php и библиотеки GD.
Я пытаюсь создать пользовательскую форму, чтобы пользователи могли выбирать эти параметры, а затем отправлять запрос AJAX для рендеринга изображения и отправки его обратно и загрузки предварительного просмотра на странице.
Проблема в том, что первый предварительный просмотр работает, но после этого я не могу больше загружать предварительный просмотр. Я просто продолжаю видеть одно и то же изображение в окне предварительного просмотра. Тем не менее, я записываю образ на диск, и он обновляется очень хорошо, поэтому я представляю, что это какой-то apache или браузер кеширования. Вот некоторый код:
AJAX-запрос похож на
preview = new Image;
preview.src = url;
$(preview).load(preview.src, imagedata, function() {
$('#gaga-preview-space').html(this);
});
Где imagedata - это массив с bgcolor и т. Д. Я также генерирую временную метку для каждого запроса, в надежде, что это остановит apache от кэширования ответа. Это работало в других случаях, но не в этом.
Сценарий генерации php выглядит следующим образом:
// Save file
$file = "/var/www/tribegaga/sites/all/files/gaga_customization/test.png";
$result = imagepng($image, $file);
// Spit out file
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
header("Content-Type: image/png");
imagepng($image);
imagedestroy($image);
Вы увидите, что я отправляю несколько заголовков, но это не проблема.
Возможно, я на неверном пути, думая, что это кеширование. Но, как я уже говорил, сгенерированный .png работает нормально.
Обновление: Хорошо, проблема заключалась в том, что браузер не POST получает изображение, он получает, поэтому теперь мой скрипт отправляет строку GET, и все это прекрасно работает. Но я бы предпочел, чтобы изображение не было src = http://site/script.php?string=params&test=foo и т. Д.
Если у вас есть предложения, я буду признателен.
Спасибо !!