Código :
import flash.events.*;
import flash.net.FileFilter;
import flash.net.FileReference;
import flash.net.URLRequest;
//Dirección del PHP que va a subir el archivo
var uploadURL:URLRequest;
var archivo:FileReference;
//Función llamada al pulsar examinar, se crea el filereference y se abre el navegador de archivos
function Examinar(event:MouseEvent) {
info.appendText("\n" + "Vamos a seleccionar el archivo.");
uploadURL = new URLRequest();
uploadURL.url = "http://www.esedeerre.com/ejemplos/as3/filereference/uploadFile.php/";
archivo = new FileReference();
PonerListeners(archivo);
archivo.browse(getTypes());
}
//Añado los listener al objeto filereference
function PonerListeners(dispatcher:IEventDispatcher) {
dispatcher.addEventListener(Event.CANCEL, cancelHandler);
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(Event.SELECT, selectHandler);
dispatcher.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadCompleteDataHandler);
}
//Con está función se generan los tipos de archivos que estarán disponibles para seleccionar desde el navegador
function getTypes():Array {
var allTypes:Array = new Array(getImageTypeFilter(), getTextTypeFilter());
return allTypes;
}
//Tipos de imágenes admitidos, tanto para pc como para mac
function getImageTypeFilter():FileFilter {
return new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)","*.jpg;*.jpeg;*.gif;*.png");
}
//Tipos de archivos de texto admitidos, para pc y mac
function getTextTypeFilter():FileFilter {
return new FileFilter("Text Files (*.txt, *.rtf)","*.txt;*.rtf");
}
//Se distribuye cuando se cancela la descarga desde el navegador de archivos.
function cancelHandler(event:Event):void {
info.appendText("\n" + "Subida cancelada.");
}
//Se distribuye cuando se finaliza la descarga o la carga
function completeHandler(event:Event):void {
info.appendText("\n" + "Subida completada.");
}
//Se reciben datos del servidor tras completar la carga
function uploadCompleteDataHandler(event:Event):void {
info.appendText("\n" + "Subida confirmada por el servidor.");
}
//Se produce cuando falla la carga y hay un código http de error.
//Por ejemplo si no se encuentra el PHP, se generará un error 404.
function httpStatusHandler(event:HTTPStatusEvent):void {
info.appendText("\n" + "Se ha producido el siguiente error: " + event.status);
}
//Se produce cuando falla la carga o descarga
function ioErrorHandler(event:IOErrorEvent):void {
info.appendText("\n" + event.text);
}
//Se inicia la carga o descarga
function openHandler(event:Event):void {
info.appendText("\nComienza la subida");
}
//Se distribuye periodicamente durante la carga o la descarga, mostrando el progreso de la misma.
function progressHandler(event:ProgressEvent):void {
var file:FileReference = FileReference(event.target);
info.appendText("\n" + event.bytesLoaded + " bytes de " + event.bytesTotal + " bytes subidos.");
}
//Se distribuye al intentar descargar o cargar un archivo de un servidor fuera del entorno de seguridad de la película
function securityErrorHandler(event:SecurityErrorEvent):void {
info.appendText("\nEl servidor no permitió la carga del archivo.");
}
//Se distribuye al elegir el archivo para carga o descarga desde el navegador de archivos.
function selectHandler(event:Event):void {
info.text = "";
var archivo:FileReference = FileReference(event.target);
info.appendText("\n" + "Archivo elegido: " + archivo.name + "\n" + "Tamaño = " + archivo.size + " bytes.");
if(archivo.size > 20000){
info.appendText("\nNo se pueden subir archivos de más de 20 KB.");
}else{
archivo.upload(uploadURL);
}
}
examinar.addEventListener(MouseEvent.CLICK,Examinar);
Si no me equivoco es para cargar una foto a otro servidor, mi principal problema es que el php al que llama no lo proporcionaban y no se en realidad que deberia contener ese php alguien me podria hehcar una mano plis?
Gracias de antemano.
