2010-10-20 11 views

Respuesta

18

Content-Disposition es un response header, es decir. el servidor debe devolverlo. No puede lograr esto con javascript en el lado del cliente.

+0

derecho que es lo que yo pensaba. –

10

Los navegadores basados ​​en Firefox y Chromium admiten el download attribute. Si necesita una mejor compatibilidad ahora, utilice Downloadify basado en Flash como alternativa. Sólo


HTML: utilizar el atributo download:

<a download href="http://upload.wikimedia.org/wikipedia/commons/b/bb/Wikipedia_wordmark.svg">Download</a>


Javascript solamente: puede guardar cualquier archivo con este código:

function saveAs(uri) { 
 
    var link = document.createElement('a'); 
 
    if (typeof link.download === 'string') { 
 
     link.href = uri; 
 
     link.setAttribute('download', true); 
 

 
     //Firefox requires the link to be in the body 
 
     document.body.appendChild(link); 
 

 
     //simulate click 
 
     link.click(); 
 

 
     //remove the link when done 
 
     document.body.removeChild(link); 
 
    } else { 
 
     window.open(uri); 
 
    } 
 
} 
 

 
var file = 'http://upload.wikimedia.org/wikipedia/commons/b/bb/Wikipedia_wordmark.svg'; 
 
saveAs(file);

+1

Cuando pruebo esto (como un novato de javaScript completo) está actuando como si hubiera usado 'verdadero' como el nombre deseado del archivo descargado. Creo que tiene que ser 'link.setAttribute ('download', '');' para evitar proporcionar un nombre sugerido para el archivo de descarga? – Speed8ump

Cuestiones relacionadas