leer - Descargar un archivo usando Javascript
manejo de archivos en javascript (4)
Este es el archivo de Excel que quiero que los usuarios puedan descargar de mi servidor. Debe haber una manera fácil de iniciar la descarga del archivo después de hacer clic en el botón "Descargar" ... pero no tengo ni idea de cómo hacerlo.
Tengo esto hasta ahora: (VBscript y 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
La función javascript está vacía.
En realidad, si quieres una forma ''más eficiente'' (y más sexy), utiliza:
location.href = your_url;
De esta manera, le ahorrará al compilador algo de tiempo para subir hasta la cadena de prototipos de la location
hasta el objeto de la window
.
Si su servidor está configurado para activar una descarga de archivos de ese tipo mime, es tan simple como esto:
window.location = your_url
no vas a creer esto Lo encontré...
function exportmasterfile()
{ var url=''../documenten/Master-File.xls'';
window.open(url,''Download'');
}
¡Lo siento chicos!
Aquí hay una función de VBScript para descargar un archivo binario.
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