Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/08/2006, 15:31
Sanva
 
Fecha de Ingreso: diciembre-2005
Ubicación: Redondela (Galicia)
Mensajes: 368
Antigüedad: 18 años, 11 meses
Puntos: 1
Upload falla, pero sólo a veces... :S

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!!