Foros del Web » Programando para Internet » ASP Clásico »

Descargar Archivo .Doc

Estas en el tema de Descargar Archivo .Doc en el foro de ASP Clásico en Foros del Web. Muy wenas a todo el mundo una vez más. Tengo el siguiente problema: he creado una pequeña aplicación para hacer listados de personal, busquedas por ...
  #1 (permalink)  
Antiguo 11/05/2004, 05:18
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 22 años
Puntos: 8
Descargar Archivo .Doc

Muy wenas a todo el mundo una vez más. Tengo el siguiente problema: he creado una pequeña aplicación para hacer listados de personal, busquedas por departamento, apellidos, etc etc. Al mostrar el listado, una de las opciones que hay es la de visualizar el curriculum de la persona. El enlace se crear a partir de la base de datos, todo bastante simple. El problema que tengo es que al darle al enlace, segun el explorer y el office del usuario, pueden pasar dos cosas, que se lo abra directamente en el propio explorer, o que pregunte si quiere guardar el archivo. Yo lo que quiero es que siempre pregunte si se quiere guardar y que no lo abra en el explorer. Hay alguna forma de conseguir esto???

Muchas gracias por adelantado, salu2
__________________
Vayamos por Partes :: Jack el Destripador
  #2 (permalink)  
Antiguo 11/05/2004, 10:55
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 9 meses
Puntos: 535
Acá tenés un codigo para forzar la descarga de archivos:

http://www.asp101.com/articles/jason...st/default.asp
__________________
...___...
  #3 (permalink)  
Antiguo 12/05/2004, 01:18
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 22 años
Puntos: 8
OK, veré si me sirve para lo q ya tengo, muchas gracias
Salu2
__________________
Vayamos por Partes :: Jack el Destripador
  #4 (permalink)  
Antiguo 12/05/2004, 02:07
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 22 años
Puntos: 8
Vale, lo he adaptado a lo que ya tenia, pero me da un error, a ver si alguien sabe porque da ese error. Os pongo los códigos de ambas páginas.

Por una parte está el archivo StartDownload.asp que es donde da el error, aqui lo único que he modificado ha sido comentar las lineas que hacian referencia al tamaño del archivo, xq no me hacia falta. El fallo que da es el siguiente:
Código:
Tipo de error:
ADODB.Stream (0x800A0BBA)
No se pudo abrir el archivo.
/serviciosonline/personal/startDownload.asp, line 28

Código PHP:
<%
    
'8***********************************************8
    ' 
Jason Withrow - For ASP101 July 2001
    
' This page forces the save as dialogue to prevent
    ' 
files from being opened in the browser.
    
'
    ' 
[email]jwithrow@mediaone.net[/email]
    
'8***********************************************8

Response.Buffer = True
Dim strFilePath, strFileSize, strFileName

Const adTypeBinary = 1

strFilePath = Request.QueryString("File")
'
strFileSize Request.QueryString("Size")
strFileName Request.QueryString("Name")

Response.Clear

'8*******************************8
Requires MDAC 2.5 to be stable
' I recommend MDAC 2.6 or 2.7
'
8*******************************8
Set objStream 
Server.CreateObject("ADODB.Stream")
objStream.Open
objStream
.Type adTypeBinary
objStream
.LoadFromFile strFilePath ---> AQUI DA EL ERROR

strFileType 
lcase(Right(strFileName4))
    
    
' Feel Free to Add Your Own Content-Types Here
    Select Case strFileType
        Case ".asf"
            ContentType = "video/x-ms-asf"
        Case ".avi"
            ContentType = "video/avi"
        Case ".doc"
            ContentType = "application/msword"
        Case ".zip"
            ContentType = "application/zip"
        Case ".xls"
            ContentType = "application/vnd.ms-excel"
        Case ".gif"
            ContentType = "image/gif"
        Case ".jpg", "jpeg"
            ContentType = "image/jpeg"
        Case ".wav"
            ContentType = "audio/wav"
        Case ".mp3"
            ContentType = "audio/mpeg3"
        Case ".mpg", "mpeg"
            ContentType = "video/mpeg"
        Case ".rtf"
            ContentType = "application/rtf"
        Case ".htm", "html"
            ContentType = "text/html"
        Case ".asp"
            ContentType = "text/asp"
        Case Else
            '
Handle All Other Files
            ContentType 
"application/octet-stream"
    
End Select
    
    
    Response
.AddHeader "Content-Disposition""attachment; filename=" strFileName
'    Response.AddHeader "Content-Length", strFileSize
    ' 
In a Perfect WorldYour Client would also have UTF-as the default 
     
In Their Browser
    Response
.Charset "UTF-8"
    
Response.ContentType ContentType
    
    Response
.BinaryWrite objStream.Read
    Response
.Flush

objStream
.Close
Set objStream 
Nothing

%> 
Y aqui os pongo el código del enlace que llama a StartDownload.asp para que fuerze a descargar el archivo:

Código PHP:
    <% enlace "startDownload.asp?File=" Server.urlEncode(curriculums.Fields.Item("pathcurriculum").Value) & "&Name=" Server.urlEncode(curriculums.Fields.Item("dni").Value) & ".doc"%>
    <
font face="Arial, Helvetica, sans-serif" size="2">Puede ver su curr&iacute;culum 
    pulsando 
<a href="<%=enlace%>">aqui</a></font></p

El enlace se crea bien, por que si hago que me saque el enlace por pantalla sale lo siguiente:
Código PHP:
 startDownload.asp?File=%2E%2Fdocs%2Fcurriculums%2F&Name=111.doc 
Weno, espero que me podais ayudar, muchas gracias. Salu2
__________________
Vayamos por Partes :: Jack el Destripador
  #5 (permalink)  
Antiguo 19/05/2004, 06:15
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 22 años
Puntos: 8
A nadie se le ocurre nada??? Ya no se por donde tirar, y lo necesito!!!!

Gracias por adelantado
__________________
Vayamos por Partes :: Jack el Destripador
  #6 (permalink)  
Antiguo 19/05/2004, 06:41
 
Fecha de Ingreso: abril-2004
Mensajes: 60
Antigüedad: 20 años, 7 meses
Puntos: 0
otra opcion es que en vez de pinchar en el enlace, utilice la opcion "guarda destino como"

No se si esto t funcionara porq yo de .asp se poco.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:22.