Citar:
Si en la respuesta incluyes el tipo MIME adecuado (por ejemplo, application/zip para los .zip), el navegador ofrecerá la posibilidad de abrirlo ya con la aplicación que corresponda.
Tienes razón, incluso creo que sin especificarlo Window$ ya sabe cómo tratarlo (creo que incorpora un gestor de archivos comprimidos zip cutrecillo por defecto).
El problema que estoy teniendo ahora es que, después de hacer una descarga (correctamente) intento pulsar otro botón para refrescar o guardar otro fichero y el cgi no funciona. El navegador me devuelve la página pero en código HTML en lugar de interpretarla. Supongo que hago algo mal en el tratamiento del fichero a descargar y se queda como esperando algo o incluso no termina de copiarlo correctamente aunque el fichero local, aparentemente, se haya transferido bien.
Aquí pego el código a ver si veis algo raro.
Using perl Syntax Highlighting
sub guardar_conv(){
my (@msgs) = @_;
# cargamos todas los ficheros
my @aux = <$ruta/*.mp3>;
if (open(AUDIO, "$aux[$msgs[0]]")) {
$size = -s $aux[$msgs[0]];
$|=1;
print header(-type=>'audio/mpeg3', -Content_length => $size, -attachment => "$aux[$msgs[0]]");
while(($amt = sysread(AUDIO, $data, 4096)) > 0) {
syswrite(STDOUT, $data, $amt);
}
close(AUDIO);
} else {
die("¡Error al abrir fichero: $!!");
}
}
¿¿alguien sabe por qué si comprimo usando ZIP en Linux, al descargarlo en Window$ me da mensaje de error como que no es capaz de tratarlo como un archivo ZIP?? necesitaría un formato de compresión estándar pero el zip debería ser compatible con todos los sistemas.. he usado opciones para comprimirlo en binario, o cambiar los finales de linea al formato MSDOS, pero no lo consigo.
Gracias de nuevo.