Cita:
Iniciado por maycolalvarez javascript NO tiene acceso al IO, esos objetos (excepto el primero, que nada tiene que ver con escritura en disco) que pretende usar no funcionan sino en aplicaciones HTA con el WSH activo, por lo cual en un entorno web está deshabilitado por motivos de seguridad.
conclusión: no puede forzar una descarga desde javascript ni que lo escriba en disco sin la participación y autorización del usuario
Hola ,
Gracias por responder.
Yo no quiero hacerlo en un entorno web, sencillamente estoy intentandolo hacer en un Script para ejecutarlo en Windows (WScript.exe).
Tengo este codigo para descargar archivos;
Código:
var objXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
var objADOStream = new ActiveXObject("ADODB.Stream");
var fso = new ActiveXObject("Scripting.FileSystemObject");
GetUrl("http://www.officehelp.biz/officehelp/DEMOS/CalendarPlan4AdvDemo.xls","C:\\CalendarPlan4AdvDemo.xls");
function GetUrl(strFileURL,strHDLocation)
{
objXMLHTTP.open("GET",strFileURL, false)
objXMLHTTP.send();
if(objXMLHTTP.Status == 200)
{
objADOStream.Open;
objADOStream.Type = 1;
objADOStream.Write(objXMLHTTP.ResponseBody);
objADOStream.Position = 0;
if(fso.FileExists(strHDLocation))fso.DeleteFile(strHDLocation)
objADOStream.SaveToFile(strHDLocation);
objADOStream.Close();
}
}
El archivo del script es solo un ejemplo no es el caso real. Esto funcionaria bien si no fuera necesario logarse primero, es decir, en mi caso se trata de descargar un fichero de una Web en la que es primero necesario logarse, si yo trato de usar el script de arriba para descargarlo sin antes logarme lo que me descarga es la pagina de login y no el fichero que quiero, solo cuando estoy logado podría descargarlo pero para ello debería logarme primero y mi idea era si existía la posibilidad de logarse con el objeto "Microsoft.XMLHTTP".
Tal vez si hubiera otra forma de hacer pues tambien me valdria. Tambien he visto "MSXML2.XMLHTTP" pero creo que las funciones son practicamente las mismas
Saludos