우선 플래시/액션 스크립트가 좋지 않습니다. 제 주요 프로그래밍 언어가 아닙니다.액션 스크립트 다중 파일 업로드, 매개 변수 전달이 작동하지 않습니다.
나는 지금까지 나에게 큰 도움이 된 내 자신의 파일 업로드 플래시 앱을 만들었습니다. PHP를 사용하여 파일을 업로드하고 상태 상자에 표시되는 상태 메시지를 다시 사용자에게 보냅니다.
이제 Actionscript에 매개 변수를 전달하고 POST를 사용하여 PHP 파일에 HTML을 전달해야하는 상황에 처했습니다. 어도비가 성공하지 못한 채 http://livedocs.adobe.com/flex/3/html/help.html?content=17_Networking_and_communications_7.html에있는 것처럼 설정하려고했습니다.
여기가 flashVars 변수는 HTML 파일에서 값을 포함해야 한 내 액션 스크립트 코드
import fl.controls.TextArea;
//Set filters
var imageTypes:FileFilter = new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg; *.jpeg; *.gif; *.png");
var textTypes:FileFilter = new FileFilter("Documents (*.txt, *.rtf, *.pdf, *.doc)", "*.txt; *.rtf; *.pdf; *.doc");
var allTypes:Array = new Array(textTypes, imageTypes);
var fileRefList:FileReferenceList = new FileReferenceList();
//Add event listeners for its various fileRefList functions below
upload_buttn.addEventListener(MouseEvent.CLICK, browseBox);
fileRefList.addEventListener(Event.SELECT, selectHandler);
function browseBox(event:MouseEvent):void {
fileRefList.browse(allTypes);
}
function selectHandler(event:Event):void {
var phpRequest:URLRequest = new URLRequest("ajax/upload.ajax.php");
var flashVars:URLVariables = objectToURLVariables(this.root.loaderInfo);
phpRequest.method = URLRequestMethod.POST;
phpRequest.data = flashVars;
var file:FileReference;
var files:FileReferenceList = FileReferenceList(event.target);
var selectedFileArray:Array = files.fileList;
var listener:Object = new Object();
for (var i:uint = 0; i < selectedFileArray.length; i++) {
file = FileReference(selectedFileArray[i]);
try {
file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, phpResponse);
file.upload(phpRequest);
}
catch (error:Error) {
status_txt.text = file.name + " Was not uploaded correctly (" + error.message + ")";
}
}
}
function phpResponse(event:DataEvent):void {
var file:FileReference = FileReference(event.target);
status_txt.htmlText += event.data;
}
function objectToURLVariables(parameters:Object):URLVariables {
var paramsToSend:URLVariables = new URLVariables();
for(var i:String in parameters) {
if(i!=null) {
if(parameters[i] is Array) paramsToSend[i] = parameters[i];
else paramsToSend[i] = parameters[i].toString();
}
}
return paramsToSend;
}
입니다. 그러나 프로그램을 실행하고 PHP 파일에 변수를 출력 할 때마다 다음과 같은 메시지가 나타납니다.
//Using this command on the PHP page
print_r($_POST);
//I get this for output
Array
(
[Filename] => testfile.txt
[Upload] => Submit Query
)
매개 변수가 거의 쓰여지거나 전혀 작동하지 않는 것과 같습니다. 어떤 도움
감사합니다, 메트로폴리스
flashvars에서 플래시 변수를 성공적으로 수신합니까? 어쩌면 액션 스크립트 코드 내부에 인쇄를 할 수 있을까요? – Abs