Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Web » Upload de ficheros y parámetros GET Responder al tema
Nuevo tema


Página 1 de 1  [ 9 mensajes ] 
 
Nota 2006-09-26 10:41 @487

Perlero Nuevo
Registrado: 2006-09-26 10:25 @476
Mensajes: 4
Upload de ficheros y parámetros GET
Hola a todos:

Estoy desarrollando un proyecto con macromedia Flash, y estoy haciendo con perl un script para subir ficheros mediante el método Filereference.upload() de actionscript.

Mi problema es que si quiero enviar algún parámetro además del fichero que quiero subir, tiene que ser adjuntándolo a la url, por tanto usando el método GET.

He estado buscando y no he encontrado solución para esta cuestión.

Otra duda que tengo es si habría posibilidad de averiguar el tipo MIME del fichero que estoy subiendo al servidor.

Muchas gracias de antemano y saludos a todos.

_________________
Dailos Medina


Nota 2006-09-26 11:21 @514
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10272
No entiendo por qué debes de usar GET. Podrías usar POST. Lo importante es que se use el enctype='multipart/form-data'. ¿Es que el ActionScript tiene esa limitación?

Te recomiendo una lectura del módulo CGI. Busca por 'Upload'. También, si buscas por 'mixing post' verás que se puede enviar formularios POST junto con parámetros en el URL.

En cuanto al MIME, hay varios módulos en Perl para deducirlo, pero casi todos lo que hacen es consultar la base de datos del programa 'file' que está en Linux/Unix.


Nota 2006-09-26 11:38 @526

Perlero Nuevo
Registrado: 2006-09-26 10:25 @476
Mensajes: 4
limitaciones de flash
Hola:

Muchas gracias por la rapidez de respuesta. Por desgracia, el método upload de la clase Filereference de flash, no permite envío de parámetros por el método post. Sólo puedes adjuntar a la url los parámetros. Te copio aquí un pequeño extracto de la documentación de este método:

Parameters

url:String - The URL of the server script configured to handle upload through HTTP POST calls. The URL can be HTTP or, for secure uploads, HTTPS.

You can send data to the server with the upload() call by appending parameters to the URL; for example, http://www.myserver.com/upload.cgi?userID=jdoe

On some browsers, URL strings are limited in length. Lengths greater than 256 characters may fail on some browsers or servers.



Por otro lado, me podrían guiar sobre qué módulos podría usar para localizar el tipo MIME, o donde podría localizar información sobre este tema. He visto que existe el módulo MIME, pero en todos los casos usado para el envio de correos, por lo que no se si me podría servir para el fin que yo busco.

Muchas gracias nuevamente por tu respuesta.

_________________
Dailos Medina


Nota 2006-09-26 11:57 @539
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10272
Según este enlace:
http://livedocs.macromedia.com/flash/8/ ... 02225.html

el envío de ficheros se hace, naturalmente, por medio de un POST. Lo que comenta de pasarle parámetros aparte es añadirles a la URL, como comentas, pero eso no es hacer un GET. Sigue siendo un POST pero la URL es 'más larga' de lo normal.

Bueno, pues la solución está donde te he dicho: abre la documentación del módulo CGI y busca por 'mixing post' y podrás acceder a ambos. Si tienes algún problema con las pruebas, dínoslo.

Curioso lo que ponen los comentarios a continuación. No dejes de leerles...


Última edición por explorer el 2006-09-26 12:05 @545, editado 1 vez en total

Nota 2006-09-26 12:02 @543
Avatar de Usuario
Creador de Perl en Español
Registrado: 2003-10-15 16:52 @744
Ubicación: México
Mensajes: 1163
Hola:

Si usas el Flash 8 puedes hacer upload de archivos usando la clase FileReference, aquí un tutorial con el código fuente:
http://www.flash-db.com/Tutorials/upload/

Ahora, después lo puedes integrar con Perl y aquí hay un tutorial que te muestra como subir archivos usando Perl:
http://perlenespanol.baboonsoftware.com ... hivos.html

Lógicamente que en vez del formulario en HTML sería con tu Flash.

Ahora para encontrar el MIME de los archivos como te decía explorer hay varios módulos, yo el que uso es es MIME::Types.


Saludos

_________________
Uriel Lizama Perl programmer fundador de Perl en Español


Nota 2006-09-26 12:03 @544
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10272
Sobre el tema del MIME, aquí tienes un enlace al módulo File::MimeInfo


Nota 2006-09-28 06:31 @313

Perlero Nuevo
Registrado: 2006-09-26 10:25 @476
Mensajes: 4
Contenido del fichero en variable
Hola:

Muchas gracias por vuestras respuestas. Me han aclarado muchas dudas, pero todavia tengo algunas. Estoy intentando que el contenido binario del fichero que quiero subir, se almacene en una variable para luego guardarlo en la base de datos MySQL. Mi duda es como convertir directamente los datos del contenido a una variable. En mi codigo, lo he intentado de esta manera pero me da problemas, no se si estoy haciendo bien:

Código:
#!/usr/bin/perl

use CGI;

my $query = new CGI;

my $key = $query->url_param("key");
my $file = $query->param("Filedata");
my $filedata = $query->upload("Filedata");

my $content;
#Transferimos byte por byte el archivo
while (my $bytesread = read($filedata, my $buffer, 1024)) {
   $content .= $buffer;
}


gracias por vuestra atención,

_________________
Dailos Medina


Nota 2006-09-28 10:34 @482
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10272
¿Y qué problemas te da?


Nota 2006-09-28 12:27 @560

Perlero Nuevo
Registrado: 2006-09-26 10:25 @476
Mensajes: 4
explorer escribió:
¿Y qué problemas te da?


Hola:

he revisado bien el proceso, y el fichero que puse arriba finalmente si funciona (el problema estaba en el script que descargaba el fichero) :P

Muchas gracias por tu ayuda, finalmente todo funciona.

Saludos

_________________
Dailos Medina


Responder al tema  [ 9 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO