Ou seja, ele solicita diretamente ao usuário baixar em vez de abrir determinados arquivos pelo navegador. Observe que, depois de copiar o código a seguir para o arquivo ASP, não adicione algum código não ASP à página: como o código do cliente HTML e JavaScript.
A cópia do código é a seguinte:
<%
'--------------------------------------------
Response.Buffer = true
DiMstrfilePath, strfilesize, strfilename
ConstadTypeBinary = 1
strfilepath = "filepath"
strFilesize = ... tamanho do arquivo, opcional
strfilename = "Nome do arquivo"
Response.clear
'8 ************************************************** 8
'Requer que o MDAC2.6 ou o MDAC2.7 sejam instalados em seu servidor
'8 ************************************************** 8
Setobjstream = server.createObject ("adodb.stream")
objstream.open
objstream.type = adtypebinary
objstream.loadFromFileStFilePath
strFileType = lcase (direita (strfileName, 4)) 'Estação de extensão de arquivo.long. estação
'Juiz-lypes de conteúdo por extensão de arquivo
SelectCaseSTFileType
Caso ".asf"
ContentType = "Video/X-MS-ASF"
Caso ".avi"
ContentType = "Video/Avi"
Caso ".doc"
ContentType = "Application/msword"
Caso ".zip"
ContentType = "Application/Zip"
Caso ".xls"
ContentType = "Application/vnd.ms-Excel"
Caso ".gif"
ContentType = "Image/gif"
Caso ".jpg", "jpeg"
ContentType = "Image/jpeg"
Caso ".wav"
ContentType = "áudio/wav"
Caso ".mp3"
ContentType = "Audio/MPEG3"
Caso ".mpg", "mpeg"
ContentType = "Video/MPEG"
Caso ".rtf"
ContentType = "Application/RTF"
Caso ".htm", "html"
ContentType = "Texto/html"
Caso ".asp"
ContentType = "Texto/asp"
Caseelse
'HandlealLotherfiles
ContentType = "Aplicativo/stream de octeto"
EndSelect
Response.AddHeader "Conteúdo-Disposição", "Anexo; nome do arquivo = strfilename
Response.AddHeader "Length-tlen", strfilesize
Response.Charset = "UTF-8" 'Conjunto de personagens do navegador do cliente UTF-8
Response.ContentType = ContentType
Response.BinaryWriteObjStream.read
Response.flush
objstream.close
Setobjstream = nada
%>