el caso es que este asp abre el archivo y empieza a enviarlo por el response
Mas o menos el codigo viene a ser esto
Response.AddHeader "Content-Disposition", "attachment; filename=" &
SoloNombre
Response.ContentType = "application/octet-stream"
Response.Flush
' y empezamos a enviar todo el chorro de bytes por
' el output
While Not Bin.AtEndOfStream
Response.BinaryWrite(ChrB(Asc(Bin.Read(1))))
Wend
bien, todo esto me ha funcionado perfectamente... aunque el navegador
tardaba un poco en mostrar el mensaje de "Guardar como". El caso es que
ahora estamos con un archivo gordete, de 17 megas, y el iis nos interpreta
como error, debido a que el asp esta mucho tiempo dentro del bucle
el problema es que el cliente no se entera de que le esta enviando un
archivo, a pesar de que hago un flush despues de informarle el tipo de
archivo. no tengo ni idea como solucionar, y es cuestion de vida o muerte
alguna idea? alguien ha hecho algo parecido..... y si no... se os ocurre
otra manera?
Muchas gracias y saludo al grupo
prueba algo como:
abre en una variable llamada fichero con fso el archivo a descargar
leelo todo asi:
i=fichero.readall
y muestra la variable "i"
for k=1 to len(i)
response.binarywrite chrb(Asc(mid(i,k,1)))
next
a ver si se soluciona, ya me cuentas =)
dani
--
-o|o|--------------------------------------
-o|o| dani castillo
-o|o| http://www15.brinkster.com/danic/
-o|o| tutorial y trucos asp, vb, diseño
-o|o|--------------------------------------
"Doble-click" <DoDo...@click.com> escribió en el mensaje
news:ako2f8$1j6tfh$1...@ID-122294.news.dfncis.de...
quizas no me he explicado bien, el problema no es el envio del archivo.
tengo entendido que cuando haces un flush, envias lo que hay en el buffer al
cliente, esto quiere decir que cuando hago esto
> > Response.ContentType = "application/octet-stream"
> > Response.Flush
la peticion http ya deberia estar completa, y el cliente (cuando digo
cliente me refiero al browser) deberia saber que va a recibir un archivo y
entonces mostrar la ventana de guardar como.
pero el problema es que no me muestra la ventana de guardar como hasta que
no ha enviado todo el archivo... con lo que el browser se queda media hora
muerto.... y con este archivo gordo ya se queda tan muerto que el iis se
cree que ha petado y me cierra la conexion
a ver si se os ocurre alguna alternativa, porque me huelo que eso va a ser
muy complicado
"danicastillo" <danica...@QuitAhotMEmail.com> escribió en el mensaje
news:eb9QRnDUCHA.2336@tkmsftngp08...
has probado a hacer el flush cuando lleve un trozo del archivo?
en tu codigo, para probar algo como
k=0
While Not Bin.AtEndOfStream
k=k+1
if k =1024 then
response.flush
end if
Response.BinaryWrite(ChrB(Asc(Bin.Read(1))))
Wend
a ver si hay suerte =(
--
-o|o|--------------------------------------
-o|o| dani castillo
-o|o| http://www15.brinkster.com/danic/
-o|o| tutorial y trucos asp, vb, diseño
-o|o|--------------------------------------
"Doble-click" <DoDo...@click.com> escribió en el mensaje
news:ako534$1k5egt$1...@ID-122294.news.dfncis.de...
"danicastillo" <danica...@QuitAhotMEmail.com> escribió en el mensaje
news:ugtCZMEUCHA.3016@tkmsftngp13...
Para hacer lo que quieres, antes de nada haz así:
Response.AddHeader "content-type", "application/x-zip-
compressed; name=""Prueba.zip"""
Response.AddHeader "content-disposition", "attachment;
filename=""Prueba.zip"""
Response.AddHeader "content-length", Bin.Size
Response.Flush
Con este código se abrirá el diálogo que necesitas y
además marcará el progreso de descarga ya que le pasas el
tamaño del archivo.
para que no te caduque la sesión cambia su duración con
la propiedad Timeout.
Espero que te sirva.
--------------------------
Jose Alarcón
JASoft Freeware
www.jasoft.org
--------------------------
--
Santiago José Crespo
Webmaster CPCIPC
http://www.cpcipc.org/
"Jose Alarcón" <info@quitaesto_jasoft.org> wrote in message
news:cacc01c25119$2e44d390$9ae62ecf@tkmsftngxa02...