Acojonante lo que me pasa... Estoy utilizando FileReferenceList de ActionScript 2.0 y PHP para subir archivos a un servidor y no hay forma...
Este es el código:
Código:
function subirArchivos(obj) {
var FileList:FileReferenceList = new FileReferenceList();
var Listener:Object = new Object();
Listener.onSelect = function(_FileList:FileReferenceList) {
var i:Number = 0;
var archivo:FileReference = _FileList.fileList[i];
var aListener:Object = new Object();
aListener.onComplete = function(archivo:FileReference) {
ExternalInterface.call("alert", 'El archivo "'+archivo.name+'" ha sido enviado correctamente');
i++
var archivo:FileReference = _FileList.fileList[i];
archivo.addListener(aListener);
if (archivo){
archivo.upload("./Objetos/PHP/uploadFoto.php");
}else{
ExternalInterface.call("alert", 'Fin de la transferencia de archivos');
}
};
aListener.onHTTPError = function(archivo:FileReference, HTTPError:Number) {
ExternalInterface.call("alert", 'Error al intentar transferir el archivo "'+archivo.name+'" (Error HTTP: '+HTTPError+')');
};
aListener.onIOError = function(archivo:FileReference) {
ExternalInterface.call("alert", 'Error al intentar transferir el archivo "'+archivo.name+'" (Error de entrada/salida)');
};
aListener.onSecurityError = function(archivo:FileReference, errorString:String) {
ExternalInterface.call("alert", 'Error al intentar transferir el archivo "'+archivo.name+'" (Error: "'+errorString+'" )');
};
archivo.addListener(aListener);
archivo.upload("./Objetos/PHP/uploadFoto.php");
};
FileList.addListener(Listener);
FileList.browse([{description:"Imágenes JPEG", extension:"*.jpg;*.jpeg"}]) || ExternalInterface.call("alert", "Error al intentar mostrar el cuadro de diálogo de búsqueda de archivos");
}
...y el PHP
Código PHP:
<?php
$nombre = $_FILES['Filedata']['name'];
@move_uploaded_file($_FILES['Filedata']['tmp_name'], $nombre) or header('HTTP/1.1 404 Not Found');
?>
Al probarlo funciona correctamente... como es de esperar... pero a veces falla con un onHTTPError [404] y el archivo no aparece enviado... otras veces no muestra ningún error pero el archivo tampoco aparece enviado... (y sí, otras veces hace todo correctamente)
¿Qué puede estar sucediendo? Lo he probado en localhost y en un servidor...
¡¡Ayuda please!!