请你试试下面的代码:
实现文件下载而不是由ie打开的代码。<%
Const ForReading=1
Const TristateTrue=-1 'Unicode
Const FILE_TRANSFER_SIZE=16384 '16k'Use the following line for IIS4/PWS - this is the default for IIS5
Response.Buffer = TrueFunction TransferFile(path, mimeType, filename)
Dim objFileSystem, objFile, objStream
Dim char
Dim sent
send=0
TransferFile = TrueSet objFileSystem = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = objFileSystem.GetFile(Path)
Set objStream = objFile.OpenAsTextStream(ForReading, TristateTrue)Response.AddHeader "content-type", mimeType
response.AddHeader "Content-Disposition","attachment;filename="&filename 
Response.AddHeader "content-length", objFile.SizeDo While Not objStream.AtEndOfStream
    char = objStream.Read(1)
    Response.BinaryWrite(char)
    sent = sent + 1
    If (sent MOD FILE_TRANSFER_SIZE) = 0 Then
        Response.Flush
        If Not Response.IsClientConnected Then
            TransferFile = False
            Exit Do
        End If
    End If
LoopResponse.Flush
If Not Response.IsClientConnected Then TransferFile = FalseobjStream.Close
Set objStream = Nothing
Set objFileSystem = Nothing
End FunctionDim path, mimeType, sucess
'Server.MapPath(path)
path = "C:\Inetpub\wwwroot\help.gif"
mimeType = "application/x-msdownload" 
sucess = TransferFile(path, mimeType,"help.gif")
Response.End
%>

解决方案 »

  1.   

    http://www.eaoo.com/design/list.asp?classid=2&Nclassid=9
      

  2.   

    function download()
    {
    $upload_dir= "../".$_GET['path'];
    $upload_file  = $_GET['filename'];
    $fp = fopen($upload_dir.$upload_file,"r"); // 打开文件
    // 输入文件标签
    Header("Content-type: application/octet-stream");
    Header("Accept-Ranges: bytes");
    Header("Accept-Length: ".filesize($upload_dir.$upload_file));
    Header("Content-Disposition: attachment; filename=" . $upload_file);
    // 输出文件内容
    echo fread($fp,filesize($upload_dir . $upload_file));
    fclose($fp);
    }