Incarcarea fisierelor pe server in Flash(AS2) |
Incarcarea fisierelor pe server in Flash(AS2) ![]() Pentru incarcarea fisierelor pe server folosim clasa flash.net.FileReference. Exemplarul lui genereaza: onselect - fisier selectat, se poate de incarcat onCancel - declinarea operatiunii de utilizator onHTTPError,onIOError,onSecurityError - diverse greseli onComplete - incarcarea finalizata Uploaderul nostru va consta din buton de incarcare(upload_btn), din camp de primire a mesajelor sistemului (tf_message) si clip pentru vizionarea imaginii de incarcare (loader). Conectam clasa incarcatorului, cream exemplar: import flash.net.FileReference var FileLoader:FileReference = new FileReference(); Apoi evenimente de asc. var ListObj:Object = new Object(); FileLoader.addListener(ListObj); Prelucrarea evenimentelor var folder = 'image';//cale spre folder unde se incarca fisierul var path = ''; //file selectat, se poate incarca ListObj.onselect = function() { //generare mesaj tf_message = FileLoader.name+' ales'; //incarcam fisier- mergem in script PHP, ii trimitem prin GET calea de salvare a fisierelor pe server FileLoader.upload("fileUpload.php?folder="+folder); var path = folder+'/'+FileLoader.name; }; Cod pentru PHP. Il salvam ca fileUpload.php <? $field = 'file'; $root_path = ''; // daca exista datele despre cale de salvare in GET, le luam invers se salveaza in radacina $folder = isset($_GET['folder']) ? $_GET['folder'] : ''; // Daca primim fisier fara greseli il salvam if(isset($_FILES[$field]) && $_FILES[$field]['error']===0){ copy($_FILES[$field]['tmp_name'],$root_path.($folder ? $folder.'/' : '').$_FILES[$field]['name']); $mes = 'ôàéë '.$_FILES[$field]['name'].' se incarca' } if(!isset($_FILES[$field]){$mes = 'php nu a primit fisier'} if($_FILES[$field]['error'] !=0){$mes = 'greseli in fisier'.$_FILES[$field]['name']} // codul pentru depanare, se face ôàéë log.txt, dar php va salva in el greseli si erori // se poate pentru experiment //* $filename = 'log.txt'; if (is_writable($filename)) { if (!$handle = fopen($filename, 'a')) { echo "Nu pot deschide fisier ($filename)"; exit; } if (fwrite($handle, $mes) === FALSE) { echo "Nu pot inscrie in fisier ($filename)"; exit; } echo "Wow, am reusit ($mes) â ôàéë ($filename)"; fclose($handle); } else { echo "Fisier $filename inaccesibil pentru inscriere sau redactare"; } //*/ ?> Aratam erori ListObj.onCancel = function(){ tf_message = 'utilizator a anul incarcarea'; }; ListObj.onIOError = function(FileLoader){ tf_message = ' greseala'; }; ListObj.onSecurityError = function(FileLoader, error) { tf_message = ' greseala de securitate'; }; // eroare protocol ListObj.onHTTPError = function(FileLoader:FileReference, error:Number){ tf_message = "HTTP error: "+error; }; Pornire upload la apasarea butonului upload_btn.onPress = function(){ FileLoader.browse([{description:'images (jpg)', extension:'*.jpg'}]);//specificam format pentru fisiere, pot fi scrise diverse formate } Cand fisier se va incarca il aratam function imageInterfase(){// micsoreaza imaginea maxheight = 150; maxwidth = 150; w = loader._width; h = loader._height; persent = w/h; if (h>w) { loader._height = maxheight; loader._width = maxheight*persent; } else { loader._width = maxwidth; loader._height = maxwidth/persent; } } // aceasta functie se executa, cand imaginea va fi incarcata, scriem orice cod ListObj.onComplete = function(){ var mclLoader = new Imageloader(path,imageInterfase,loader);// link imagine, functia apelata cand fisierul e incarcat, clip in care incarcam }; mclLoader clasa mea pentru incarcarea imaginilor(salvam acest cod intr-o mapa cu fla sub nume de Imageloader.as): class Imageloader{ function Imageloader(path,interfase:Object,loader:Object){ var mclLoader:MovieClipLoader = new MovieClipLoader(); var oLoadListener:Object = new Object(); mclLoader.addListener(oLoadListener); oLoadListener.onloadInit = function(mcTarget:MovieClip):Void{ interfase(); }; mclLoader.loadClip(path, loader); } } Daca cuvantul clasa nu va place se poate scrie si asa: function imageInterfase(){} list_obj.onComplete = function(){ var mclLoader:MovieClipLoader = new MovieClipLoader(); var oLoadListener:Object = new Object(); mclLoader.addListener(oLoadListener); oLoadListener.onloadInit = function(mcTarget:MovieClip):Void{ interfase(); }; mclLoader.loadClip(path, loader); } |
| html-link catre acest articol | |
| BB-cod pentru publicarea in bloguri | |
| Link direct catre acest articol |
Stimate vizitator, nu sunteti inregistrat in site. Va recomandam sa folositi autentificare sau inregistrare in site.
Info
Vizitatori din grupul Oaspeti, nu pot comenta acest articol.





orice info sau modul

