Descargar archivo usando ajax
La tarea de descargar un archivo usando ajax puede ser más difícil de lo que parece a primera vista.
Primera opción
Envíe el archivo como base64. Sustituya el atributo href. Y programáticamente haga clic en el enlace.
Puede haber problemas con archivos de más de 8 mb
Segunda opción
Enviamos el código en bruto. Y usa AXIOS.
axios({
method: 'POST',
url,
responseType: 'blob',
data
}).then( res => {
let fileData = window.URL.createObjectURL(new Blob([res.data]));
//set fileData to href...
}).catch( err => {
console.log(err);
})
Sustituya el resultado en el atributo href. Y programáticamente haga clic en el enlace.