2010-08-05 2 views
1

Я пытаюсь сохранить моментальный снимок компонента в моем приложении flex, который затем отправляется на php-скрипт для сохранения, а затем возвращается обратно в окно браузера. Кажется, я не могу заставить это работать.Как сохранить снимок приложения flex в файл с помощью PHP, а затем отобразить его в браузере?

Вот мой FlashBuilder код:

private function saveImage():void { 
    var parameters:String = "snapshot=" + takeSnapshot(this); 

    var variables:URLVariables = new URLVariables(parameters); 
    var submit:URLRequest = new URLRequest("SaveImage.php"); 
    submit.data = variables; 
    submit.method = URLRequestMethod.POST; 
    navigateToURL(submit,"_self"); 
} 

private function takeSnapshot(component:IBitmapDrawable):String { 
    return ImageSnapshot.encodeImageAsBase64(ImageSnapshot.captureImage(component)); 
} 

Вот мой экспериментальный PHP код:

$binaryData = base64_decode($_POST["snapshot"]); 

$file = "mydirectory/tmp.png"; 
file_put_contents($file, $binaryData); 
header("Content-type: image/png"); 
die($binaryData); 

Это генерирует следующий вывод (где {путь к изображению} является URL, где сохранен образ) :

Изображение "{путь к изображению}" не может быть отображено , поскольку оно содержит erro RS.

Он сохраняет файл .png в этом каталоге, но он пуст, там ничего нет, но его размеры правильные. Я подтвердил, что моментальный снимок работает, загружая его в приложение компонентом swfLoader сразу после моментального снимка, поэтому я знаю, что изображение хорошо до его отправки на сервер.

+0

Выглядит хорошо. На несвязанной ноте, '' 'в начале требуется -' "? Snapshot =" ' – Amarghosh

+0

нет, это не требуется. (На самом деле у меня даже нет этого в моем коде больше. Спасибо, что указали это.) Однако, если вы задаете параметры для такой строки, тогда вам нужно включить «&» между каждым новым параметром, т.е. "var1 = somedata & var2 = somedata" –

+0

Я просто добавил тег php, на всякий случай, если это проблема php. – Amarghosh

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^