Hace unos días estuve buscando en Internet alguna función en ASP clásico que me permitiera descargar archivos PDFs.
Y encontré éstas funciones que permiten descargar un fichero dada la ruta donde se encuentra y el nombre del archivo:
'*******************************FUNCIÓN 1*****************
Function downloadFile(strPathAndFile, strFileName)
Dim objFso
Dim objStream
If strPathAndFile <> "" Then
Set objFso = Server.CreateObject("Scripting.FileSystemObject")
'If objFso.FileExists(strPathAndFile) Then
Response.AddHeader "Content-disposition", "filename=" & strFileName
Response.ContentType = "application/octet-stream"
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "Expires", "0"
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1
objStream.Open
objStream.LoadFromFile strPathAndFile
Response.BinaryWrite(objStream.Read())
objStream.Close
Set objStream = Nothing
Else
Response.Write "La ruta del fichero no existe."
End If
Set objFso = Nothing
End If
End Function
'*******************************FUNCIÓN 2*****************
Function downloadFile(strPathAndFile, strFileName)
Response.Buffer = False
Dim objStream
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1 'adTypeBinary
objStream.Open
objStream.LoadFromFile(strPathAndFile)
Response.ContentType = "application/x-pdf"
Response.Addheader "Content-Disposition", "attachment; filename=" & strFileName
Response.BinaryWrite objStream.Read
objStream.Close
Set objStream = Nothing
End Function
Sin embargo, en ambos casos salió el siguiente error "Es posible que la página web http:// ... esté temporalmente inactiva o que se haya trasladado definitivamente a otra dirección"
Para solucionar este problema tienes que:
1. Incluir el .Mode encima del .Open y con el valor 3 para prevenir errores de bloqueo de acceso si están accediendo al archivo varias personas al mismo tiempo.
objStream.Mode = 3
objStream.Open
objStream.Type = 1
2. Cambiar: Response.ContentType "application/octet-stream"
por: Response.ContentType = "xxx/xxx"
3. Antes de Response.AddHeader Incluir Response.Clear
4. Después de cerrar el FileSystemObject incluir: response.end
Quedando el código como sigue:
Function downloadFile(strFilePath, strFileName)
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(strFilePath) Then
Set objFile = objFSO.GetFile(strFilePath)
intFileSize = objFile.Size
Set objFile = Nothing
Response.Clear
Response.AddHeader "Content-Disposition","attachment; filename=" & strFileName
Response.ContentType = "xxx/xxx"
Response.AddHeader "Content-Length", intFileSize
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Mode = 3
objStream.Open
objStream.Type = 1
objStream.LoadFromFile strFilePath
Do While Not objStream.EOS And Response.IsClientConnected
Response.BinaryWrite objStream.Read(1024)
Response.Flush()
Loop
objStream.Close
Set objStream = Nothing
End if
Set objFSO = Nothing
response.end
End Function
Na-vegando en conocimiento podremos encontrar aspectos de PHP, MySQL, Metodologías de desarrollo de Software: RUP, SCRUM, lenguaje SQL, SEO, Requisitos funcionales, casos de usos, Redes de Petri, Marketing e Internet y muchas otras temáticas del mundo informático.
Etiquetas
-T272
(1)
ASCII
(1)
ASP
(1)
ASP classic
(3)
Base de Datos
(1)
BD
(1)
Chrome
(1)
Correo electrónico
(1)
diseño Web
(2)
Email
(1)
Firebug
(1)
Gmail
(1)
Google
(2)
Gtmetrix
(1)
HeadingsMap
(1)
HTML
(4)
HTML5
(1)
IP
(1)
Jmail
(1)
Metodologías de desarrollo ágil o formal
(1)
Metodologías de desarrollo de Software
(1)
Microformatos
(1)
Microsoft Access
(1)
Microsoft Excel
(1)
Modelo de Barry Boehm y Richard Turner
(1)
MYSQL
(4)
pdf
(1)
PHP
(2)
PHPMyAdmin
(2)
Posicionamiento Web
(1)
programación
(1)
rendimiento web
(1)
SEO
(2)
SQL
(4)
SQL Server 2005
(2)
SQL Server 2012
(3)
URL
(1)
Vistas indexadas
(1)
Web
(4)
Web Semántica
(1)
viernes, 10 de febrero de 2017
Descargar PDF con Asp Clásico
Suscribirse a:
Enviar comentarios (Atom)
Gracias por copratit esta información, no sabía como descargar PDF y como amante a la lectura no podía descargar ningún libro en PDF. Como ya tengo PDF estoy buscando Te odio como nunca quise a nadie pdf
ResponderEliminarpara descargar sin errores..