Descomprimir Zip y descargar
Publicado por Jairo Lorenzo del pino (1 intervención) el 08/04/2010 12:25:30
Hola a todos,
Tengo un proceso que descomprime un fichero zip y lo que quiero hacer es descargarlo y eliminarlo.
La cuestión es que se descomprime bien y lo deja en la ruta, pero a la hora de decargarlo es como si no encontrara el fichero, y hago un listado de los ficheros y no me lo encuentra.
pero voy al directorio y existe y a la segunda vez que lanzo el proceso todo correcto, pero a la primera no, es como si el fichero ya tubiera que existir antes de lanzar el proceso de descompresión y descarga.
Quizás hay que hacer un refresh del directorio antes de la descarga pero no se cómo hacerlo
Os dejo el código por si me podéis ayudar, Gracias de antemano
For Each archivo In sArchivos
TheFile = New FileInfo(archivo)
Using zip As ZipFile = ZipFile.Read(Server.MapPath("../Documents/Nivell/" & TheFile.Name))
For Each zip_1 In zip
zip_1.ExtractWithPassword(Server.MapPath("../Documents/Nivell/"), ExtractExistingFileAction.Throw, password
Next
End Using
Next
For Each archivo In sArchivos
TheFile = New FileInfo(archivo)
Response.Clear()
Response.AppendHeader("Content-Disposition", "attachment; filename=" & TheFile.FullName)
Response.AddHeader("Content-Length", TheFile.Length.ToString())
Response.ContentType = "Application/msword"
Response.TransmitFile(TheFile.FullName)
Response.Flush()
FileToDelete = Server.MapPath("../Documents/Nivell/" & TheFile.Name)
If System.IO.File.Exists(FileToDelete) = True Then
System.IO.File.Delete(FileToDelete)
End If
Response.End()
Next
Tengo un proceso que descomprime un fichero zip y lo que quiero hacer es descargarlo y eliminarlo.
La cuestión es que se descomprime bien y lo deja en la ruta, pero a la hora de decargarlo es como si no encontrara el fichero, y hago un listado de los ficheros y no me lo encuentra.
pero voy al directorio y existe y a la segunda vez que lanzo el proceso todo correcto, pero a la primera no, es como si el fichero ya tubiera que existir antes de lanzar el proceso de descompresión y descarga.
Quizás hay que hacer un refresh del directorio antes de la descarga pero no se cómo hacerlo
Os dejo el código por si me podéis ayudar, Gracias de antemano
For Each archivo In sArchivos
TheFile = New FileInfo(archivo)
Using zip As ZipFile = ZipFile.Read(Server.MapPath("../Documents/Nivell/" & TheFile.Name))
For Each zip_1 In zip
zip_1.ExtractWithPassword(Server.MapPath("../Documents/Nivell/"), ExtractExistingFileAction.Throw, password
Next
End Using
Next
For Each archivo In sArchivos
TheFile = New FileInfo(archivo)
Response.Clear()
Response.AppendHeader("Content-Disposition", "attachment; filename=" & TheFile.FullName)
Response.AddHeader("Content-Length", TheFile.Length.ToString())
Response.ContentType = "Application/msword"
Response.TransmitFile(TheFile.FullName)
Response.Flush()
FileToDelete = Server.MapPath("../Documents/Nivell/" & TheFile.Name)
If System.IO.File.Exists(FileToDelete) = True Then
System.IO.File.Delete(FileToDelete)
End If
Response.End()
Next
Valora esta pregunta


0