2015-06-17 2 views
-1

Выполнение функции скриншота работало в моем приложении, но теперь оно не работает. Код, я использую для принятия снимок экрана в гибком, как показано ниже:Выполнение функции скриншотов в flex 3.5 работало, но теперь оно не работает

Я использую гибкий 3.5 SDK

private function captureScreenShot():void 
{ 
    var jpgSource:BitmapData = new BitmapData (siteDisplayContainer.width, siteDisplayContainer.height); // siteDisplayContainer is the <mx:VBox> flex container 
    jpgSource.draw(siteDisplayContainer); 

    var jpgEncoder:JPGEncoder = new JPGEncoder(85); 
    var jpgStream:ByteArray = jpgEncoder.encode(jpgSource); 

    var myDate:Date = new Date(); 
    var unixTime:Number = Math.round(myDate.getTime()/1000); 

    var reqURL:String = parentApplication.imageDownloadScriptURL+unixTime+".jpg"; // imageDownloadScriptURL is the php file absolute path 

    var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream"); 
    var jpgURLRequest:URLRequest = new URLRequest(reqURL); 
    jpgURLRequest.requestHeaders.push(header); 
    jpgURLRequest.method = URLRequestMethod.POST; 
    jpgURLRequest.data = jpgStream; 
    navigateToURL(jpgURLRequest, "_blank"); 
} 

PHP код файл для загрузки гибкого снимка экрана:

<?php 
if (isset($GLOBALS["HTTP_RAW_POST_DATA"])) 
{ 
    // get bytearray 
    $jpg = $GLOBALS["HTTP_RAW_POST_DATA"]; 

    // add headers for download dialog-box 
    header('Content-Type: image/jpeg'); 
    header("Content-Disposition: attachment; filename=".$_GET['name']); 
    echo $jpg; 

    echo '<script TYPE="text/javascript">window.close();</script>'; 
} 
?> 

Поскольку данные двоичные, я не знаю, как я могу отлаживать этот код. Я не знаю, где именно происходит сбой кода. Не может быть никакой серьезной ошибки, поскольку этот точный код работал до 6 месяцев назад.

Как отладить этот код? Что может быть причиной того, что код не работает?

ответ

0

Если он работал шесть месяцев назад, вы проверили настройки своего сервера для изменений в версии PHP или безопасности?

Для тестирования PHP вы можете передать в него двоичный код, чтобы убедиться, что эта часть работает? Для гибкой стороны я бы установил отладочную версию флеш-плеера, а затем установил точки останова и инструкции трассировки и просто просмотрел его и посмотрел, дают ли флеш-отладочную перспективу и флеш-плеер какие-либо хорошие отладочные данные для работы с сужением виновника ,