Alıntıdır.

%@ language="vbscript"%>
<%
option explicit
Response.Buffer = true
Const BUFFERSIZE = 32768 ' 32KB - Tampon
dim dosya, farkli_dosya_adi, bilesen, dosya_icerigi, sayfa_adi, taksim_yeri, ilk, son

function dosya_adi(gelen)
sayfa_adi = gelen
taksim_yeri = instrrev(sayfa_adi, "/")
ilk = (taksim_yeri + 1)
son = (len(sayfa_adi) - taksim_yeri)
dosya_adi = mid(sayfa_adi, ilk, son)
end function

dosya = request.querystring("dosya")
farkli_dosya_adi = dosya_adi(dosya) 'BURADA İSTERSEN DOSYA ADINI DEĞİŞTİREBİLİRSİN Örnek farkli_dosya_adi = now() & "_" & dosya_adi(dosya)

dosya = server.mappath(dosya)
response.contenttype = "application/x-msdownload" 'BU SATIRLA ÇALIŞMAZ İSE BU SATIRI SİLİP ALTTAKİ SATIRI KULLAN
'response.contenttype="application/force-download"
response.addheader "cache-control","private"
response.addheader "content-transfer-encoding", "binary"
response.addheader "content-disposition", "attachment; filename=" & farkli_dosya_adi
set bilesen = server.createobject("adodb.stream")
	bilesen.type = 1 'binary olarak aç
	bilesen.open
	bilesen.loadfromfile dosya
	response.addheader "content-length", bilesen.size ' dosya boyutunu bildir
	Do While Not bilesen.Eos
		Response.Binarywrite bilesen.Read(BUFFERSIZE) ' 32KB oku / yaz
		Response.Flush 'tampondaki veriyi istemciye gönder
		If Not Response.IsClientConnected Then Exit Do 'kullanıcı bağlantıyı kesmişse dosya göndermeyi bırak
	Loop
	bilesen.close
set bilesen = nothing
%>
Benzeri bir kod yapılanmasına ihtiyacınız var gibi duruyor siz dosyanın tarayıcıda açılmasını değil direk bilgisayara inmesini istiyorsunuz benim anladığım bu yönde.