Foros del Web » Creando para Internet » Flash y Actionscript »

Clase FileReference

Estas en el tema de Clase FileReference en el foro de Flash y Actionscript en Foros del Web. Hola a todos de nuevo. Quiero que el cliente flash pueda subir al servidor unos archivos de imágen mediante la clase FlashReference. El problema es ...
  #1 (permalink)  
Antiguo 22/01/2007, 02:30
 
Fecha de Ingreso: enero-2007
Mensajes: 13
Antigüedad: 17 años, 3 meses
Puntos: 0
Clase FileReference

Hola a todos de nuevo.

Quiero que el cliente flash pueda subir al servidor unos archivos de imágen mediante la clase FlashReference.

El problema es que me gustaría poder saber antes de subir la foto al servidor cuánto pesa (esto ya lo tengo resuelto con la propiedad FileReference.size) y (he aquí el problema!) cuánto mide. es decir... la foto en cuestión mide tanto por tantos pixeles. Es posible conocer ese dato antes de enviar el archivo al servidor?

Y una segunda cuestión al respecto...

Puede hacerse que a la vez que enviamos el archivo recibamos alguna variable del servidor? es decir, una especie de sendAndLoad, en el que enviamos una foto y el servidor nos devuelve una variable de tipo Number del id que da a esa foto en la base de datos, por ejemplo?

Muchas gracias, como siempre.

Amparo Ribelles.
  #2 (permalink)  
Antiguo 22/01/2007, 11:20
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 6 meses
Puntos: 12
Re: Clase FileReference

Ya había necesitado más o menos lo que pides pero en princio no existen las propiedades que pides:
http://livedocs.macromedia.com/flash...=00002204.html

En cuanto a lo otro tengo algo parecido pero en lugar de usar una base de datos lo que hago es ir sumando una variable a un .txt vía PHP (y así me ahorro la base de datos). El código viene de un contador de visitas que bajé de cristalab. El caso es que viene bien para este tipo de cosas.

EL PHP:

<?php


// Declaramos el archivo, en donde se acumulará el numero de imagenes.
$archivo = "contador.txt";
// Abrimos el archivo como solo de lectura
$abre = fopen($archivo, "r");
// Leemos el contenido del archivo, cabe decir que la función fread(int fp, int length), lo que hace, es leer hasta length
//bytes del archivo referenciado en el apuntador fp.
$total = fread($abre, filesize($archivo));
// Una vez leido cerramos la conexión al archivo.
fclose($abre);
// Abrimos nuevamente el archivo,pero ahora para agregar datos.
$abre = fopen($archivo, "w");
// Cada vez que se muestre la página, que se acumule una imagen, o sea aumentamos el contador en 1, cada vez.
$total = $total + 1;
// Y reemplazamos el antiguo valor, por la nueva cantidad de imagenes.
$grabar = fwrite($abre, $total);
// Cerramos la conexión al archivo (Ahora si es la última).
fclose($abre);



?>


En FLASH:
en el código HTML:

En Object:<param name="Flashvars" value="counter=<?print($total);?>" />

Dentro de Embed: Flashvars="counter=<?print($total);?>

En el .FLA:

//creamos una caja de texto
_root.createTextField("counter_txt",12369,10,10,10 0,30);
counter_txt.border = true;
//Le asignamos a la caja de texto, el valor de la variable declarada desde FlashVars llamada counter
counter_txt.text = _root.counter;

Todos estos archivos están en esta dirección, te será más fácil que copiando y pegando de aquí.

http://www.cristalab.com/tutoriales/...sitas-en-flash

Simplemente omite el paso del include (porque si no la variable te sumará cada vez que entres a la web). La solución es que cuando pulses el botón para descargar llama a la función que activa el PHP:

var envio_lv:LoadVars = new LoadVars();
//Función que envia los datos
function enviarMail() {

envio_lv.sendAndLoad("elphpquesuma.php", "_blank", "POST");

}

Espero haber sido de ayuda
  #3 (permalink)  
Antiguo 22/01/2007, 11:45
Avatar de marlonbtx  
Fecha de Ingreso: febrero-2006
Ubicación: Tijuana,B.C. Mexico
Mensajes: 151
Antigüedad: 18 años, 2 meses
Puntos: 2
Re: Clase FileReference

http://www.forosdelweb.com/showpost....54&postcount=3
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:57.