Öncelikle, ben flash / actionscript çok kötüyüm, bu benim ana programlama dili değildir.
Ben bu noktaya kadar benim için büyük kadar çalışıyor benim kendi dosya yükleme flaş uygulama oluşturduk. Bu dosyaları yüklemek için PHP kullanır ve kullanıcıya bir durum kutusunda görüntülenen alır bir durum iletisi gönderir.
Şimdi ben POST kullanarak PHP dosyası sonra Actionscript bir parametre geçmek ve HTML gereken bir durum haline çalıştırmak. Ben adobe başarı olmadan http://livedocs.adobe.com/flex/3/html/help.html?content=17_Networking_and_communications_7.html üzerinde var gibi bu kurmaya çalıştık.
İşte benim Actionscript kodu
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;
}
FlashVars değişken HTML dosyasından değerleri içermelidir biridir. Ben PHP dosyası program ve çıkış değişkenleri çalıştırmak zaman ama ben aşağıdaki alırsınız.
//Using this command on the PHP page
print_r($_POST);
//I get this for output
Array
(
[Filename] => testfile.txt
[Upload] => Submit Query
)
Onun neredeyse gibi parametreler yazılır üzerinden alıyorsanız ya da sadece hiç çalışmıyor.
Thanks for any help, Metropolis