Estoy trabajando en un proyecto que genera aleatoriamente un conjunto de caracteres destinados a usarse como contraseña y quiero que el usuario pueda descargar los resultados como un archivo de texto. He leído algunas cosas sobre BLOB y algunos otros métodos que no han funcionado. Sería de gran ayuda si alguien pudiera ofrecer un método que funcione.
TL; DR: necesita una forma de descargar texto de un área de texto HTML como un archivo .txt usando JS
Debería poder crear mediante programación un enlace que use una URL de datos con su texto, agregar un atributo de download para que el navegador descargue en lugar de navegar (y para especificar un nombre de archivo), y haga clic en él.
Esto no se ejecuta como un fragmento SO, presumiblemente por razones de seguridad, pero debería funcionar en el mundo (y puede copiar/pegar esto en la consola de herramientas de desarrollo para probarlo):
const generatedText = 'some generated blob of text'; // create an anchor element that we can programmatically click const a = document.createElement('a'); // set up a data uri with the text a.href = `data:text/plain,${generatedText}`; // set the download attribute so it downloads and uses this as a filename a.download = 'the-name-of-the-file.txt'; // stick it in the document document.body.appendChild(a); // click it a.click();