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 구성 요소가있는 응용 프로그램에서 스냅 샷을로드하여 서버에서 이미지를 보내기 전에 스냅 샷이 제대로 작동하는지 확인했습니다.
나에게 잘 보입니다. 관련없는 메모에서, 처음에'? '가 필요합니까? - "snapshot ="' – Amarghosh
아니요, 필수는 아닙니다. (실제로 더 이상 내 코드에서 그 필요가 없습니다. 지적 해 줘서 고마워.) 그런 식으로 문자열을 매개 변수로 설정하는 경우 각 새 매개 변수 사이에 "&"를 포함시켜야합니다. "var1 = somedata & var2 = somedata" –
방금 php 문제 일 경우를 대비해 PHP 태그를 추가했습니다. – Amarghosh