no se puede especificar el nombre del file de descarga usando Javascript

Estoy usando Javascript para crear un file CSV para que el usuario lo descargue.

Hasta el 22 de mayo, Chrome todavía descargó el file con el nombre que especifiqué. Sin embargo, hoy descubrí que los files descargados se llaman "download" y no tienen la extensión .csv.

¡Este problema no existe en Firefox!

Aquí hay un violín con muestra de Javascript:

var A = [['n','sqrt(n)']]; // initialize array of rows with header row as 1st item for(var j=1;j<10;++j){ A.push([j, Math.sqrt(j)]) } var csvRows = []; for(var i=0,l=A.length; i<l; ++i){ csvRows.push(A[i].join(',')); // unquoted CSV row } var csvString = csvRows.join("\n"); var a = document.createElement('a'); a.href = 'data:text/csv;charset=utf-8;base64,' + window.btoa(csvString); a.target = '_blank'; a.download = 'myFile.csv'; document.body.appendChild(a); a.click(); 

¡Buen trabajo! Esto es una regresión.

Acabo de crear otro violín y archivé un error de Chrome .

Si estás interesado, ejecútalo en el rastreador de errores.

 <a href="/" download="my-downloaded-file.html" target="_blank">Click here</a> 

EDITAR: parece que depende de la URL. Las URL absolutas funcionan, así como las URL de los objects (de acuerdo con https://code.google.com/p/chromium/issues/detail?id=376197 ).