SprintDevelop.com - Diseño y desarrollo web - Diseño, desarrollo web,Aplicaciones Móviles, TabletasSprintDevelop.com - Diseño y desarrollo web
Mostrando Codigo - Asp
Code

Asp - Forzar descarga de archivos

Códigos Asp

Muchos de los archivos queremos que sean descargados y no mostrados en el navegador, para conseguirlo utilizamos el objeto ADODB.Stream
Visitas: 51,430 - 27/09/2003 21.55.18
DemoNO CONTIENE ARCHIVO DESCARGABLEComentario
EXPLICACION
Este ejemplo muestra un enlace hacia la pagina de descarga con una cadena descarga=si para activar el script y file=nombre_del_archivo.Extension El nombre del archivo podemos modificarlo con el que deseemos descargar.
CODIGO
Codigo probado en ChromeCodigo probado en Mozilla FirefoxCodigo probado en Internet Explorer 7+Codigo probado en OperaCodigo probado en Safari


<% 'Codigo ofrecido por Tutores.org %>

  1. <%
  2. if request.querystring("descarga")="si" then ' obtenemos la orden de descarga
  3. Dim objStream, strFileName , archivo , carpeta
  4. archivo = Request.QueryString("file") ' obtenemos el nombre del archivo
  5. carpeta = "/public/carpeta_prueba/"
  6. strFileName =""&carpeta&""&archivo&""
  7. Set objStream = Server.CreateObject("ADODB.Stream")
  8. objStream.Type = 1
  9. objStream.Open
  10. objStream.LoadFromFile Server.MapPath(strFileName)
  11.  
  12. Response.AddHeader "Content-Disposition", "attachment; filename=" & strFileName
  13. Response.ContentType = "application/octet-stream"
  14. Response.BinaryWrite objStream.Read
  15. objStream.Close
  16. Set objStream = Nothing
  17. response.write"Descargando archivo"
  18. else
  19. response.write"<a href=""79135296.Asp?descarga=si&file=archivo_word_prueba.doc"">Descargar este archivo</a>"
  20.  
  21. end if
  22. %>
  23.  



ENLACE AL CODIGO
Si quieres enlazar desde tu pagina a este codigo
<!-- Inicio enlace Tutores.org -->
<a title="Tutores.org - Forzar descarga de archivos" href="http://www.tutores.org/codigo/641/" target="_blank">Forzar descarga de archivos</a>
<!-- Final enlace Tutores.org -->
COMENTARIOS
Comentario usuario
15/09/2004 22.54.59
5 5
No funciona
Comentario usuario
19/04/2003
5 5
hola yo
podrias explicar el porque no te funciona, como ves en el ejemplo el script funciona correctamente.
solo debes hacer el enlace de este modo:
descarga.Asp?descarga=si&file=nombre_de_archivo.doc
donde .doc seria cualquier extensión de archivo
Saludos
Comentario usuario
23/09/2005 22.53.03
1 5
Buenas, necesitaria esta misma funcion pero realizarla con javascript o vbscript, es posible ???, gracias
Comentario usuario
06-12-2008 21:37:36
3 5
Al ejecutar el codigo me sale el cuadro de dialogo pero descargando la pagina web .asp y no el archivo que se tiene que descargar.

ayuda please
Comentario usuario
19/04/2003
1 5
hola
en esta funcion mostamos una descarga adaptable a lo que necesites
lo imprescindible es que el enlace o link este correcto y que la carpeta en la cual descargas el archivo tenga permisos de escritura.
si continuas con errores comunicalo por favor
saludos
Comentario usuario
23/09/2005 22.53.03
2 5
Hola a todos.
Igual usé el código y me descarga la página web (html) no el archivo que le indiqué. alquien podría comentar la solución a esto??
Gracias.
Comentario usuario
xcarlosperu
2 5
Todo esta bacan pero no hay forma del archivo q baje se llame como el pdf y no bajar.asp
Comentario usuario
19/04/2003
3 5
Hola Prueba miodificando la linea
filename=" & strFileName
por
filename="archivo.pdf"
a ver si asi te funciona
Comentario usuario
xcarlosperu
1 5
Me he dado cuenta de un detalle cuando ejecuto este asp con internet explorer 6 no sale el nombre del archivo sino sale bajar.asp pero cuando ejecuto con internet explorer 7 me sale todo bacan cual seria el codigo a cambiar para q salga en los 2 versiones?
Comentario usuario
19/04/2003
2 5
Hola
Prueba cambiando

Response.ContentType = "application/octet-stream"
por
Response.ContentType = "application/pdf"
espero que sirva
Comentario usuario
18-06-2007 14:42:03
2 5
Hola, probé este codigo para una descarga de mp3s, funciona en los navegadores Explorer sin problemas, en Firefoz tambièn, en SAFARI lo graba pero con la extension del archivo asp que lo llama (download.asp) aunque si abro ese archivo con un repoductor de audio se escucha. Probé cambiando el response.contentType para mp3 y persiste el problema. Por favor agradezco anticipadamente una pronta respuesta. Gracias!
Comentario usuario
10-03-2010 22:32:32
3 5
Dos preguntas:

En la parte del código, carpeta = "/public/carpeta_prueba/"

se tiene qué especificar la ruta en donde será descargado o donde se encuentra el archivo?

La segunda es, en este código
response.write"<a href=""79135296.Asp?descarga=si&file=archivo_word_prueba.doc

79135296.Asp? <<< esta parte la puedo modificar?
Comentario usuario
19/04/2003
2 5
Hola Christian
en primera perte debes de indicar la ruta de l acarpeta donde se encuentra el archivo

por segundo - 79135296.Asp es el nombre del script o archivo que contiene el codigo asp al que mandas las variables con el nombre del archivo a descargar
saludos
Comentario usuario
02-01-2009 01:33:41
2 5
Existe alguna manera de descargar un archivo con un enlace sin que te pida la ruta, es decir que se descarge automaticamente a una carpeta especifica?
Comentario usuario
19/04/2003
3 5
hola Felipe
todo depende de la forma que quieras hacerlo ya que hay muchas formas
puedes poner el archivo directamente en la linea
... , "attachment; filename=" & strFileName
cambiarlo por
... "attachment; filename= archivo.html"
saludos
Comentario usuario
26/11/2004 16.52.35
1 5
El código funciona correctamente pero tengo el problema de que en firefox, cuando los archivos contienen espacios, la descarga la hace sin extensión y con un nombre generico, esto se puede solucionar de alguna manera?
Comentario usuario
05-12-2007 19:01:30
5 5
Hola, mi consulta es la siguiente , tengo un archivo pdf,
ARCHIVO1.PDF VISUALIZAR [/B] / [B]BAJAR [/B]

al hacer click en [B]Visualizar[/B],me funciona bien , me abre el acrobat reader , (para que el usuario vea la info ), pero el de [B]bajar
quiero que al hacer click , me habra la típica ventanita de descarga de archivos ,donde me da la opcion de guardar el pdf sin necesidad de verlo !!, em podrias ayudar , o ver si este codigo es para eso!! gracias de antemano
Comentario usuario
Mario Chrobak
4 5
A mi me funcionó de maravillas, tenia armado el tema de la descarga y el contenido sale de un campo blob de una base de datos, lo que me faltaba era enviar al navegador en nombre de archivo correcto en vez de "descarga.asp" o similar, y con el --Response.AddHeader "Content-Disposition", "attachment; filename=" & strFileName-- funcionó perfectamente.
Muchas Gracias!
Comentario usuario
gsm-atv
4 5
hola estube buscando estos dias un scrip que sirva para forzar descargas desde una url un archivos que no este almacenado en misitio a la ves podes renombrarlo como es posible hacere esto por ej:
descarga.php?titulo=EL NOMBRE QUE QUIERO QUE TENGA LA CANCION &url=http://www.musica.com/blabla.mp3
Comentario usuario
14-07-2008 13:05:01
3 5
Auxilio!!
Por favor necesito ayuda

estoy trabajando con servlest y jsp en eclipse
y estoy intentando hacer un enlace a una carpeta del disco duro en donde se encuentran unos archivos que un usuario ha decidido poner alli, lo que falta es darle la opcion al usuario de que vea su carpeta con los archivos que subio, y poderlos descargar.

he probado varias opciones pero solo permite ver un solo archivo , no la carpeta con todos sus archivos.

Les agradeceria que me puedieran colaborar es con caractter urgente!
Comentario usuario
29-11-2008 17:35:14
3 5
hola a todos
mi duda es como hacer en un reproductor de musica en un web from y ke repoducat un listado de musica asi poder seleccionar pero en aspx ves que toy ke hago un pagina de musica ps ..............
ayuda
Comentario usuario
28-04-2009 07:16:46
2 5
mi duda es de como puedo abrir o visualizar con el objeto "ADODB.Stream" un archivo en un servidor "servidorimagenesfichero.gif" en explorer funciona pero no para Firefox.

Gracias
Comentario usuario
GMATIAS
3 5
Buen Dia a todos:
Quisiera utilizar este coodigo pero para una carpeta compartida en otro servidor.
Me podrias dar un ejemplo de como poder hacerlo.
Gracias
Comentario usuario
Jotache
5 5
xcarlosperu 11-05-2007 11:04:13
Me he dado cuenta de un detalle cuando ejecuto este asp con internet explorer 6 no sale el nombre del archivo sino sale bajar.asp pero cuando ejecuto con internet explorer 7 me sale todo bacan cual seria el codigo a cambiar para q salga en los 2 versiones?


YO TENGO EL MISMO PROBLEMA QUE XCARLOSPERU REPORTO HACE TIEMPO, USANDO ASP.NET EN EXPLORER 6.0 CUANDO BAJO UN ARCHIVO LO HACE CON EL NOMBRE DE LA PAGINA POR EJM: Download.aspx PERO CUANDO LO HAGO CON I.E 7.0 LO HCE BIEN, POR FAVOR ALGUIEN PODRIA AYUDARME CON ESO?????
Comentario usuario
Sin definir
4 5
OLVIDE COLOCAR EL CODIGO QUE UTILIZO:

Response.Clear()
Response.AddHeader("Pragma", "public")
Response.AddHeader("Expires", "0")
Response.AddHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0")
Response.AddHeader("Content-Type", "application/force-download")
Response.ContentType = "application/octet-stream"
Response.AddHeader("Content-Type", "application/download")
Response.AddHeader("Content-disposition", "attachment; filename=" & sArchivo)
Response.AddHeader("Content-Transfer-Encoding", "binary")
Response.AddHeader("Content-Length", New FileInfo(sRuta & sArchivo).Length.ToString())
Response.BinaryWrite(bytBytes)
Response.Flush()
Response.End()
Comentario usuario
13-11-2007 12:52:07
2 5
Llevo buscando unos días y esta ha sido la solución más sencilla y eficaz, gracias colega
Comentario usuario
13-08-2008 19:32:29
3 5
Encontraron alguna solucion para los archivos que tienen un espacio en blanco en su nombre y pierde la extencion, ejemplo: "colinas azules.jpg" y el nombre que baja es "colinas" nada mas, osea llega hasta el espacio y lo demas lo pierde.
Comentario usuario
13-08-2008 19:32:29
5 5
casi lo olvido, esto me pasa en firefox 3.5, igual que un comentario que hay de mariano del 2004!!
Comentario usuario
23/03/2004 14.09.13
3 5
se que el tema es mas antiguo que las barbas de matusalén, pero la solución a los espacios en blanco en el nombre (o en la ruta), para que no pierda la extensión al descargar se soluciona modificando la la linea

Response.AddHeader "Content-Disposition", "attachment; filename=" & strFileName

por esta otra

Response.AddHeader "Content-Disposition", "attachment; filename=" & replace(strFileName," ","%20")

es un simple replace, Se podria hacer antes y controlar otros caracteres especiales, ya que las funciones URLEncode y HTMLEncode no funcionan

venga, hasta luego!
Comentario usuario
27-09-2011 20:24:58
4 5
Hola! una consulta, quisiera evitar que el cuadro de diálogo aparezca y que simplemente el archivo se descargue en una ruta determinada. Espero su pronta respuesta =)
Comentario usuario
23-02-2011 11:01:44
3 5
probe tu codigo y no funciona o nose usarlo no entiendo para que defines un nombre si cuando manda un href no funciona
Comentario usuario
13-11-2007 12:52:07
1 5
Un millón de gracias simplemente genial.
INSERTAR COMENTARIO

Usuario:
Email:
Comentario:
Codigo Seguridad


Antes de enviar un comentario...
Todos los comentarios son revisados personalmente
Todo comentario que no haga relacion al codigo mostrado en esta pagina sera eliminado

Usuarios registrados tienen preferencia en recibir respuestas de ayuda!!
Ademas de poder insertar Imagenes,Enlaces y otras propiedades del editor.
Por favor, insertar los comentarios descriptivos.