2011-04-06 5 views
0

가능한 경우 ActionScript로 XML 파일을 임시 파일로 저장하고 싶습니다. 대화 상자가 없으면 어떻게하면 AS를 어떻게 할 수 없는지에 대한 모든 것을 읽었습니다. (보안 문제를 이해합니다.)하지만 확실하게 일종의 임시 옵션이 있어야합니까? 내가 동적으로 일부 swf를 URLVariables (나는이 부분을 제어 할 수)를 사용하여 전달할 XML을 생성해야합니다. 지금은 이전에 만든 XML 파일 만 전달할 수 있습니다.ActionScript로 임시 XML 파일 만들기

var urlReq:URLRequest = new URLRequest(url); 
var variables:URLVariables = new URLVariables(); 
variables.data_file = "us/data.xml"; //data.xml is static/already created 
urlReq.data = variables; 
ldr.load(urlReq); 

내가 만든 XML을 us/data.xml를 교체하고 싶습니다.

+0

실제 xml 파일이나 xml 파일에 대한 링크 만 전달하고 있습니까? 그냥 링크 인 것처럼 보입니다 – divillysausages

+0

지금은 디스크에 저장된 로컬 XML 파일의 경로입니다. 문제는 ActionScript에서 XML을 즉시 수정하고이를 전달하는 방법을 찾아야한다는 점에서 발생합니다. –

답변

0

URLRequest 또는 URLVariables 개체를 통해 XML 개체를 직접 전달할 수 있어야합니다. 뭔가 같은 :

var x:XML = ...; 
var bytes:ByteArray = new ByteArray; 
bytes.writeUTFBytes(x); 
bytes.compress(); 

var req:URLRequest = new URLRequest(url) 
req.data = bytes; 
ldr.load(urlReq); 

당신은 문제가 있다면, 당신은 Base64로 그것을 인코딩해야 할 수도 있으며,이 경우에 다음 XML이 큰

var x:XML = ...; 

var req:URLRequest = new URLRequest(url) 
req.data = xml; 
ldr.load(urlReq); 

경우에, 당신은 ByteArray로 압축 할 수 있습니다 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/LocalConnection.html 또는 SharedObject.getRemote()가 (Flash Media Server를 필요) : 당신이 LocalConnection 바라 보았다가, 몇 가지 대안으로 또한 http://jpauclair.net/2010/01/09/base64-optimized-as3-lib/

:이 lib 디렉토리를 사용할 수 있습니다 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/SharedObject.html#getRemote()

+0

그건 작동하지 않는 것 같습니다. 나는 [여기] (http://backspace.com/mapapp/us/us.zip)에서 구할 수있는 swf로 작업하고있다. 나는 AS에 대해 많이 알고 있다고 말할 수는 없지만 swf가 파일을 원한다고 생각하고 파일을 열고 처리하려고합니다. 따라서 원시 데이터를 전달하는 것은 찾고자하는 데이터가 아닙니다. –

+0

다른 SWF에 액세스 할 수없는 경우 (주소 또는 XML 객체를 수락하도록 변경하는 경우) 서버 스크립트를 통해 전달할 수있는 유일한 방법은 다른 SWF를 전달하는 것입니다. 마찬가지로 XML을 PHP로 전달하여 파일을 저장하거나 원본을 덮어 쓴 다음 두 번째 플래시 파일에 파일 이름을 보냅니다. 파일을 직접 삭제해야합니다 (플래시가 시스템 파일을 삭제할 수 없으므로) – divillysausages

+0

SWF에서 PHP로 XML을 전달하는 방법에 대한 힌트가 있습니까? –