Hola a todos :)
Tengo un sistema con el cual proporciono archivos a mis clientes. Estos entran en su zona de descarga con su propio id-password. Los archivos estan en un directorio oculto al servidor web y poseen nombres especificos para cada cliente:
c:/archivos/
-----------
SDFFEWSS.exe
A2344EDRQ.exe
etc
Desde un script en asp leo las solicitudes de cada cliente, les cambio el nombre al archivo por setup.exe y les envio el archivo. Asi:
Código:
response.buffer = true
response.clear
strFileName = request.querystring("origen")
' Solo para comprobar que existe realmente
set FSO = Server.CreateObject("Scripting.FileSystemObject")
if not fso.FileExists(strFileName) then
response.write("Archivo no encontrado")
else
set oFile = FSO.GetFile(strFileName)
strFileSize = oFile.Size
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile strFileName
strFileType = right(strFileName, len(strFileName) - instrrev(strFileName, "."))
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=setup.exe"
Response.AddHeader "Content-Length", strFileSize
Response.Charset = "UTF-8"
Response.ContentType = ContentType
Response.BinaryWrite objStream.Read
response.flush
objStream.Close
Set objStream = Nothing
end if
Todo Ok con archivos que pesan menos de 1.5Mb aprox. Sin embargo, cuando son archivos mayores se queda eternamente intentando recopilar información del archivo (en el caso de IE) o solo descarga unos 400k (en el caso de FireFox).
¿Alguien sabe a qué es debido? Gracias de antemano.
Un saludo