• Publicidad

Descarga de archivos

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Descarga de archivos

Notapor el_aislante » 2005-07-26 12:51 @577

Hola, tengo una duda...

La situación es que no puede hacer un cgi que se descarge un archivo ZIP.
Básicamente lo que deseo es que un archivo en el servidor llamado:

Miarchivo.abc

que en realidad es un archivo "programa.zip"... sea mandado como tal...

Uso lo siguiente
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2.  
  3. print "content-type: application/zip\n\n";
  4. open Archivo, "Miarchivo.abc";
  5. while (<Archivo>){
  6.       Print;
  7. }
  8. close Archivo;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

El navegador sí despliega la ventana de descargar archivo, pero manda un archivo de longitud cero.

Supongo para esto también requiero mandar información del nombre del archivo, tamaño del archivo, etc....

¿Cómo puedo hacer para que esta tarea sea efectiva?

Gracias...
el_aislante
Perlero nuevo
Perlero nuevo
 
Mensajes: 14
Registrado: 2005-07-12 21:36 @941

Publicidad

manda archivo ZIP

Notapor el_aislante » 2005-07-26 15:50 @701

Hola, yo de nuevo...

En el código anterior la arreglé un poquito. pero bueno, el chiste es que el CGI manda un archivo.zip, solo que cuando el navegador abre la ventana de Guardar como..., aparece el nombre del cgi con la extensión .zip...

¿Cómo puedo decir cómo se llamará el archivo en realidad?
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2.  
  3. print "content-type: application/zip\n";
  4. print "content-length: 4013961\n";
  5. print "accept-ranges: bytes\n\n";
  6.  
  7. open (Archivo, "< MiArchivo.abc");
  8. while (<Archivo>){
  9.   print;
  10. }
  11. close (Archivo);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


¿Es posible con una etiqueta así?

print "content-file: nuevonombre.zip\n";

o

print "content-name: nuevonombre.zip\n";

pues ninguna de las dos anteriores me ha funcionado...

¿Alguien conoce la etiqueta que debo mandar para especificar cómo se llamará el archivo?

Gracias
el_aislante
Perlero nuevo
Perlero nuevo
 
Mensajes: 14
Registrado: 2005-07-12 21:36 @941

archivo ZIP

Notapor el_aislante » 2005-07-26 16:18 @720

Hola...

Creo ya haber encontrado cómo hacerle...

Para el que le interese aquí le dejo mi solución...

Por medio de un script "BajarArchivo.cgi"...
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2.  
  3. print "content-type: application/zip\n";
  4. print "Content-disposition: attachment; filename=MiArchivo.zip\n"; #<---
  5. print "content-length: 9013961\n";
  6. print "accept-ranges: bytes\n\n";
  7.  
  8. open (Archivo, "< ArchivoOrigen.adb");#<---
  9. while (<Archivo>){
  10.   print;
  11. }
  12. close (Archivo);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Esto hará que el navegador, cuando despliega la ventana de "Guardar como..." aparezca el nombre de archivo que queramos.

Gracias...
el_aislante
Perlero nuevo
Perlero nuevo
 
Mensajes: 14
Registrado: 2005-07-12 21:36 @941


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 10 invitados