Estoy haciendo una extension para Firefox 3 la cual guarda lo que pongamos en una caja de texto mas el titulo mas la url de la pagina actual en un archivo.
Hasta ahora solo puedo guardar en un solo archivo. O sea escribiendo la ruta directamente en el codigo JS en la variable "savefile".
POR EJEMPLO
var savefile="C:\\links.txt";
Lo que yo quiero hacer es que la ruta sea la concatenacion de algunos elementos
POR EJEMPLO:
que la ruta sea:
var savefile="C:\\links\\" + cajanombrearchivo.value;
De esta forma se podria seleccionar el nombre del archivo.
No se como pasarle a el "Components.interfaces.nsILocalFile" y initWithPath la ruta del directorio.
Mas abajo dejo el codigo que no funciona.
Tambien les dejo el link al a extension en mediafire (solo por si a alguien le interesa)
Código
var savefile="C:\\links\\" + cajanombrearchivo.value; function save(loslinks, eltitulo, laurl) { var formado= loslinks + ";titulo=" + eltitulo + ";url=" + laurl + "\n"; // HABILITAR PRIVILEGIOS try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); } catch (e) { alert("Permission to save file was denied."); } // INICIALIZACION DE LA INTERFAZ CON LA VARIABLE file var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); file.initWithPath( savefile ); // SI NO EXISTE EL ARCHIVO CREARLO if ( file.exists() == false ) { alert( "Creating file... " ); file.create( Components.interfaces.nsIFile.NORMAL_FILE_TYPE, 420 ); } // INICIALIZACION DEL STREAM CON LA VARIABLE outputStream var outputStream = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance( Components.interfaces.nsIFileOutputStream ); outputStream.init( file, 0x04 | 0x08 | 0x10, 420, 0 ); var output = formado; var result = outputStream.write( output, output.length ); outputStream.close();
EL LINK A LA EXTENSION:
http://www.mediafire.com/?3m0ctxw2pab9igs
Eso es todo.
Saludos.
Nico