2010-08-05 2 views
1

Flex 어플리케이션에 구성 요소의 스냅 샷을 저장하려고합니다. 그러면 Flex 어플리케이션이 저장되어 브라우저 창에 다시 튀어 나오게됩니다. 이 일을 할 수없는 것 같습니다.Flex 어플리케이션 스냅 샷을 PHP로 파일에 저장 한 다음 브라우저에 표시하려면 어떻게합니까?

가 여기 내 실험 PHP 코드의
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)); 
} 

:

여기 내 FlashBuilder 코드의

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

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

다음과 같은 출력을 생성합니다 ({이미지 경로} 이미지가 저장된 URL 임) :

"{path to image}"이미지에는 erro가 포함되어 있기 때문에 을 표시 할 수 없습니다. rs.

.png 파일을 해당 디렉토리에 저장하지만 아무 것도 없지만 크기는 정확합니다. 스냅 샷을 찍은 직후에 swfLoader 구성 요소가있는 응용 프로그램에서 스냅 샷을로드하여 서버에서 이미지를 보내기 전에 스냅 샷이 제대로 작동하는지 확인했습니다.

+0

나에게 잘 보입니다. 관련없는 메모에서, 처음에'? '가 필요합니까? - "snapshot ="' – Amarghosh

+0

아니요, 필수는 아닙니다. (실제로 더 이상 내 코드에서 그 필요가 없습니다. 지적 해 줘서 고마워.) 그런 식으로 문자열을 매개 변수로 설정하는 경우 각 새 매개 변수 사이에 "&"를 포함시켜야합니다. "var1 = somedata & var2 = somedata" –

+0

방금 ​​php 문제 일 경우를 대비해 PHP 태그를 추가했습니다. – Amarghosh

답변

관련 문제