En ASP Clásico para descargar un fichero, por ejemplo
PDF, y luego eliminarlo, encontré este código en Internet:
- downloadFile es una función que permite descargar el fichero, pasándole como parámetros la ruta del fichero y el nombre del fichero. Ejemplo: strPathAndFile= "C:\ficheros /nombreFichero.pdf" y strFileName= "nombreFichero.pdf"
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
- Y para eliminar el fichero, esta función deleteFileFromServer donde fileRoute= "C:\ficheros /nombreFichero.pdf" (por ejemplo).
function
deleteFileFromServer (fileRoute)
Dim objFSO : Set objFSO = Createobject("Scripting.FileSystemObject")
If objFSO.Fileexists(fileRoute) Then
objFSO.DeleteFile fileRoute
Set objFSO = Nothing
else
response.write "No existe el fichero en la ruta especificada."
end if
end function
Ahora bien, en mi fichero asp llamé a las funciones de
call
downloadFile(rutaArchivo, nombreArchivo)
call deleteFileFromServer(rutaArchivo)
Y luego ponía una tercera línea response.end()y
funcionaba perfectamente, sin embargo, al quitar el response.end()y
redireccionar a la página:
response.redirect("miPagina.asp?accion=ok”) la
descarga y eliminación dejaban de funcionar.
Si te ha pasado esto alguna vez, te cuento cómo lo
solucioné:
Me cree un nuevo fichero .asp que contenía la descarga y
eliminación del fichero y desde Jquery llamé a ese fichero utilizando
window.open(‘descargaEliminaFichero.asp’);
Y a continuación puse la redirección a mi página:
window.location.href
= ‘miPagina.asp?accion=ok’;
Y listo, ya tenemos la descarga del fichero (en mi caso
PDF), eliminación y redirección.
No hay comentarios:
Publicar un comentario