Загрузите файл, используя Javascript - PullRequest
9 голосов
/ 08 декабря 2008

Это файл 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 ]

21 голосов
/ 08 декабря 2008

На самом деле, если вы хотите «более эффективный» (и более сексуальный) способ, используйте:

location.href = your_url;

Таким образом, вы сэкономите время компилятору при переходе к цепочке прототипов location до объекта window.

19 голосов
/ 08 декабря 2008

вы не поверите этому. Нашел это ...

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

Извините, ребята!

5 голосов
/ 08 декабря 2008

Если ваш сервер настроен для запуска загрузки файлов этого типа MIME, это так просто:

window.location = your_url
1 голос
/ 24 января 2012

Вот функция 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
...