Ahora bien cuando le doy clic en el botón subir se me despliega el siguiente mensaje:"El servidor no permitió la carga del archivo".
Es decir se dispara el error SecurityErrorEvent y mando a llamar a la siguiente función:
function securityErrorHandler(event:SecurityErrorEvent):void {
Estado_txt.appendText("\nEl servidor no permitió la carga del archivo.");
}
EL ascript de php está bien, pero alguien me puede hace el favor de indicarme como puedo solventar esto?, no se cual será problema.
Espero sus respuestas,
Saludos
//Clases necesarias
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):void {
Estado_txt.appendText("\n" + "Vamos a seleccionar el archivo.");
uploadURL = new URLRequest();
uploadURL.url = "http://www.midominio/upload.php";
archivo = new FileReference();
PonerListeners(archivo);
archivo.browse();
}
//Añado los listener al objeto filereference cuando se abre el cuadro de diálogo
function PonerListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.CANCEL, cancelHandler);
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(Event.SELECT, selectHandler);
}
//Añado los listener al objeto filereference cuando se sube un archivo
function PonerListenersSubir(dispatcher:IEventDispatcher):void {
//var archivo:FileReference = FileReference(event.target);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadCompleteDataHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
if(archivo.size > 52428800){
Estado_txt.appendText("\nNo se pueden subir archivos de más de 50 MB.");
}else{
archivo.upload(uploadURL);
}
}
//Se distribuye cuando se cancela la descarga desde el navegador de archivos.
function cancelHandler(event:Event):void {
Estado_txt.appendText("\n Subida cancelada.");
}
//Se distribuye cuando se finaliza la descarga o la carga
function completeHandler(event:Event):void {
Estado_txt.appendText("\n Subida completada.");
}
//Se reciben datos del servidor tras completar la carga
function uploadCompleteDataHandler(event:Event):void {
Estado_txt.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 {
Estado_txt.appendText("\n Se ha producido el siguiente error: " + event.status);
}
//Se produce cuando falla la carga o descarga
function ioErrorHandler(event:IOErrorEvent):void {
Estado_txt.appendText("\n" + event.text);
}
//Se inicia la carga o descarga
function openHandler(event:Event):void {
Estado_txt.appendText("\nComienza la subida");
progreso.setProgress(0, 0);
Subir_bt.enabled=false;
}
//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);
Estado_txt.appendText("\n" + event.bytesLoaded + " bytes de " + event.bytesTotal + " bytes subidos.");
progreso.setProgress(event.bytesLoaded, event.bytesTotal);
}
//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 {
Estado_txt.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 {
Estado_txt.text = "";
Estado_txt.text += "* Fichero seleccionado para subir:\n";
Estado_txt.text += "Detalles del fichero...\n";
//tomar el archivo que se le pasa como argumento a la función
var archivo:FileReference = FileReference(event.target);
//imprimir características
Estado_txt.text += "Nombre: " + archivo.name + "\n";
Estado_txt.text += "Tipo: " + archivo.type + "\n";
Estado_txt.text += "Tamaño: " + archivo.size + "\n";
Estado_txt.text += "Creador: " + archivo.creator + "\n";
Estado_txt.text += "Creado: " + archivo.creationDate + "\n";
Estado_txt.text += "Última modificación: " + archivo.modificationDate + "\n\n";
//habiitar botón
Subir_bt.enabled=true;
//limpiar barra de progreso
progreso.setProgress(0,0);
}
//función para subir el.
function Subir(event:Event):void {
PonerListenersSubir(archivo);
}
Subir_bt.enabled=false;
Examinar_bt.addEventListener(MouseEvent.CLICK,Examinar);
Subir_bt.addEventListener(MouseEvent.CLICK,Subir);
