¿Cómo modificar dinámicamente el nombre del archivo a través de JavaScript al hacer clic en la etiqueta a para descargar el archivo?
lt;script type="text/javascript"gt;
$("a").click(function () {
var href = this ;
var url = href.href;
var nombre = href.innerHTML;
if (url.indexOf("kindeditor") gt; = 0 ) {
descargar(url, nombre);
devolver falso;
}
})
/**
* Descargar
* @param? {String} dirección URL del archivo de destino
* @param? {String} nombre del archivo que deseas guardar Nombre
*/
función descargar(url, nombre de archivo) {
getBlob(url, función (blob) {
saveAs( blob, nombre de archivo);
});
};
/**
* Obtener blob
* @param? {String} dirección del archivo de destino de la URL
* @return {cb}?
*/
función getBlob(url, cb) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.onload = function () {
if (xhr.status === 200) {
cb(xhr.response);
}
};
xhr.send();
}
/**
* Guardar
* @param? {Blob} blob ?
* @param? {String} nombre de archivo El nombre del archivo que desea guardar
*/
función saveAs(blob, nombre de archivo) {
if (window.navigator.msSaveOrOpenBlob) {
navigator.msSaveBlob(blob, nombre de archivo);
} else {
var link = document.createElement('a');
var body = document.querySelector('body'); p>
link.href = window.URL.createObjectURL(blob);
link.download = filename;
// arreglar Firefox
enlace .estilo. mostrar = 'ninguno';
p>
body.appendChild(enlace);
link.click();
body.removeChild(enlace);
ventana.URL. revokeObjectURL(link.href);
};
}
lt;/scriptgt;