var hiddenElement = document.createElement('a');
hiddenElement.href = 'data:attachment/txt,' + encodeURI(response);
hiddenElement.target = '_blank';
hiddenElement.download = 'distribucion.txt';
hiddenElement.click();
me funciona con archivos pequeños, pero si tengo un archivo de mas de 20 MB me sale este error
en el navegador: Error:Error de Red, en la descarga,sin embargo en otros navegadores funciona
y descarga el archivo.
saludos y espero una respuesta, gracias
// Genero una string de prueba muuuy larga
var response = "";
for (var i = 0; i < 2000000; ++i) {
response += "abcdefghijk";
}
// Aquí convierto la URL del fichero a un blob, para poder usarlo con la función URL.createObjectURL
var urlblob = new Blob(['data:attachment/txt,'+encodeURI(response)], {
type: 'text/plain'
});
var hiddenElement = document.createElement('a');
hiddenElement.href = URL.createObjectURL(urlblob); // Aquí en vez de poner la URL tal cual ponemos el resultado de la función
hiddenElement.target = '_blank';
hiddenElement.download = 'distribucion.txt';
hiddenElement.click();
var blob = new Blob([response], {type: 'text/csv'});
var filename = 'Distribucion.txt';
if(window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveBlob(blob, filename);
}
else{
var elem = window.document.createElement('a');
elem.href = window.URL.createObjectURL(blob);
elem.download = filename;
document.body.appendChild(elem);
elem.click();
document.body.removeChild(elem);
}
Mil gracias de todos modos, saludos