使用Javascript下载文件

时间:2008-12-08 10:14:32

标签: javascript asp-classic vbscript

这个Excel文件我希望用户能够从我的服务器下载。单击“下载”按钮后,必须有一种简单的方法来启动文件下载...但我不知道如何实现这一点。

到目前为止我有这个:(VBscript和ASP)

<head>
<script type="text/javascript" src="overzicht.js"></script>
</head>

Set fs=Server.CreateObject("Scripting.FileSystemObject")

    if (fs.FileExists("c:\file.xls"))=true then   'fake filename D:
        response.write("<input type='button' value='Download Masterfile' class='button' onclick='exportmasterfile();' /><br />")
    else
        response.write("Masterfile not found. <br />")
    end if

    set fs=nothing

javascript函数为空。

4 个答案:

答案 0 :(得分:21)

实际上,如果你想要一种“更有效”(和更性感)的方式,请使用:

location.href = your_url;

这样,您可以将编译器保存一段时间,直到location的原型链直到window对象。

答案 1 :(得分:19)

你不会相信这一点。 发现它......

function exportmasterfile()
{   var url='../documenten/Master-File.xls';    
    window.open(url,'Download');  
}

对不起伙计们!

答案 2 :(得分:5)

如果您的服务器配置为触发下载该mime类型的文件,则它就像这样简单:

window.location = your_url

答案 3 :(得分:1)

这是一个下载二进制文件的VBScript函数。

Function SaveUrlToFile(url, path)
  Dim xmlhttp, stream, fso

  ' Request the file from the internet.
  Set xmlhttp = CreateObject("MSXML2.XMLHTTP")
  xmlhttp.open "GET", url, false
  xmlhttp.send
  If xmlhttp.status <> 200 Then
    SaveUrlToFile = false
    Exit Function
  End If

  ' Download the file into memory.
  Set stream = CreateObject("ADODB.Stream")
  stream.Open
  stream.Type = 1 ' adTypeBinary
  stream.Write xmlhttp.responseBody
  stream.Position = 0 ' rewind stream

  ' Save from memory to physical file.
  Set fso = Createobject("Scripting.FileSystemObject")
  If fso.Fileexists(path) Then
    fso.DeleteFile path
  End If
  stream.SaveToFile path

  SaveUrlToFile = true
End Function