forzar cuadro de descarga

08/09/2006 - 08:28 por Vrr | Informe spam
Hola a todos, lo que necesito es algo parecido a lo que preguntaba Marco hace
unos días, solo que con algunas diferencias...

Tengo en el servidor algunos archivos que quiero poner a disposición
mediante hipervínculos, el problema es que al hacer click al enlace
automáticamente se abre el archivo, hay alguna forma (estoy casi seguro que
sí) que siempre se muestre el cuadro de diálogo para guardar??? incluso si se
puede evitar que aparezca la opción de abrir sería mejor, pero me parece que
eso es un poco más difícil...

Ahora me surge una duda, al hacer click al enlace y automáticamente abrirse
el archivo (sin elegir la opción guardar), se genera alguna carga para el
servidor??? me refiero a procesamiento, como si se tuviera que abrir en el
servidor para mostrarlo en el cliente... según yo lo que pasa es que se
descarga el archivo a una carpeta temporal del cliente y entonces es que se
abre... no se abre en el servidor... estoy en lo correcto???

Espero haberme explicado.

Saludos y espero puedan ayudarme.

Preguntas similare

Leer las respuestas

#1 Dani Castillo
08/09/2006 - 10:44 | Informe spam
La respuesta que le dieron a Carlos deberia servirte, añadiendo codigo para
leer el archivo desde asp y volcarlo como binary en el cliente (nota: creo
que un response.redirect tambien serviria)
de todas formas vamos a tus preguntas:

el problema es que al hacer click al enlace
automáticamente se abre el archivo, hay alguna forma (estoy casi seguro
que
sí) que siempre se muestre el cuadro de diálogo para guardar???



La unica forma es procesando el archivo antes y añadiendo esas cabeceras, el
decidir si un archivo va a verse embebido en el navegador depende , en
principio, del navegador cliente y las opciones que tenga seleccionadas ,
ahi no puedes entrar solo añadir esa cabecera para forzar a que el cliente
las trate como attach en lugar de inline

incluso si se
puede evitar que aparezca la opción de abrir sería mejor, pero me parece
que
eso es un poco más difícil...



Que yo sepa eso no vas a poder hacerlo , es , de nuevo, cosa del programa
cliente y no puedes modificarlo :-| , habria una alternativa usando activex
para las descargas, pero un activex es, salvo contadisimas excepciones, una
mala alternativa (incompatibilidades, problemas de configuracion de
seguridad en clientes, y sobretodo que la mayoria de personas nos negamos a
instalar activex para hacer funcionar webs :-| son peligrosos)


Ahora me surge una duda, al hacer click al enlace y automáticamente
abrirse
el archivo (sin elegir la opción guardar), se genera alguna carga para el
servidor???



Si usas la tecnica de leer el archivo como binary y volcarlo en response, si
que se genera carga, es decir, de normal el archivo apenas genera carga de
proceso en el servidor (la busqueda del archivo y el volcado al cliente)
pero si lo procesas con asp para forzar el cuadro de descarga si que generas
procesamiento extra, el motor asp debe hacer el trabajo

me refiero a procesamiento, como si se tuviera que abrir en el
servidor para mostrarlo en el cliente... según yo lo que pasa es que se
descarga el archivo a una carpeta temporal del cliente y entonces es que
se
abre... no se abre en el servidor... estoy en lo correcto???



Correcto "mas o menos", el servidor siempre debe leer el archivo para
enviarlo al cliente, de una forma o de otra, si es por asp es mas lento que
dejando al iis hacer el trabajo, de todas formas lo que es "abrir"
(ejecutando digamos asi) el fichero, solo lo hace el cliente


Espero haberme explicado.

Saludos y espero puedan ayudarme.



un saludo y espero que te sirva

dani
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida