方法如下:
<a href='download.asp?id=1'>UltraEdit</a>download.asp----
Response.Buffer=true
set rs=server.createobject("adodb.recordset")
rs.open "select filename from download where id="&Request("id"),Conn,1,1
if rs.bof and rs.eof then
Response.End
else
strFileName = Server.Mappath(".")&"\download\"&rs("filename")
Call DownLoadFile(strFileName)
end if
Function DownloadFile(strFileName)
Dim objStream
Dim objFSO
Dim objFile
Dim intFileLength DownLoadFile = ""
Response.Buffer = True
Response.Clear
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(strFileName) Then
Set objStream=Server.CreateObject("Adodb.Stream")
objStream.Mode=3
objStream.Type=1
objStream.Open
Set objFile = objFSO.GetFile(strFileName)
intFileLength = objFile.Size
objStream.LoadFromFile(strFileName)
Response.AddHeader "Content-Disposition", "attachment; filename="&objFile.Name
Response.AddHeader "Content-Length", intFileLength
Response.CharSet = "utf-8"
Response.ContentType = "application/octet-stream"
Response.BinaryWrite(objStream.Read)
Response.Flush
objStream.Close
Set objStream=Nothing
Response.End
Else
DownLoadFile = "'"&strFileName&"'文件不存在"
End If
Set objFile = Nothing
End Function
<a href='download.asp?id=1'>UltraEdit</a>download.asp----
Response.Buffer=true
set rs=server.createobject("adodb.recordset")
rs.open "select filename from download where id="&Request("id"),Conn,1,1
if rs.bof and rs.eof then
Response.End
else
strFileName = Server.Mappath(".")&"\download\"&rs("filename")
Call DownLoadFile(strFileName)
end if
Function DownloadFile(strFileName)
Dim objStream
Dim objFSO
Dim objFile
Dim intFileLength DownLoadFile = ""
Response.Buffer = True
Response.Clear
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(strFileName) Then
Set objStream=Server.CreateObject("Adodb.Stream")
objStream.Mode=3
objStream.Type=1
objStream.Open
Set objFile = objFSO.GetFile(strFileName)
intFileLength = objFile.Size
objStream.LoadFromFile(strFileName)
Response.AddHeader "Content-Disposition", "attachment; filename="&objFile.Name
Response.AddHeader "Content-Length", intFileLength
Response.CharSet = "utf-8"
Response.ContentType = "application/octet-stream"
Response.BinaryWrite(objStream.Read)
Response.Flush
objStream.Close
Set objStream=Nothing
Response.End
Else
DownLoadFile = "'"&strFileName&"'文件不存在"
End If
Set objFile = Nothing
End Function
{
try
{
var xmlHTTP=new ActiveXObject("Microsoft.XMLHTTP");
xmlHTTP.open("Get",strRemoteURL,false);
xmlHTTP.send();
var adodbStream=new ActiveXObject("ADODB.Stream");
adodbStream.Type=1;//1=adTypeBinary
adodbStream.Open();
adodbStream.write(xmlHTTP.responseBody);
adodbStream.SaveToFile(strLocalURL,2);
adodbStream.Close();
adodbStream=null;
xmlHTTP=null;
}
catch(e)
{
window.confirm("下载URL出错!");
}
//window.confirm("下载完成.");
}
则,得到的就不是真实文件的名,也得不到这个下载的真实地址了.demo.htm<form name="form1" method="post" action="demo.asp?id=1" id="Form1">
</form>
<a href="#" onclick="form1.submit()">Download</a>demo.asp<% @Language="JavaScript" %>
<%
function DownLoadFile(sOldFile,sNewFile)
{
//设置Header
Response.contentType = "application/x-gzip";
Response.addHeader("Content-Disposition","attachment;filename="+sNewFile);
//把文件读入流
var oStream = Server.CreateObject("ADODB.Stream");
oStream.Mode = 3;
oStream.Type = 1; //1=adTypeBinary;2=adTypeText;
oStream.Open();
oStream.LoadFromFile(Server.MapPath(sOldFile));
while(!oStream.EOS)
{
Response.BinaryWrite(oStream.Read());
}
oStream.Close();
delete oStream;
}
DownLoadFile("csdn.gif","CSDNLogo.gif")
%>