Скачать файл с помощью ajax

08.06.20

Задача скачать файл с помощью ajax может оказаться более сложной чем кажется на первый взгляд.

Первый вариант

Отправить файл в виде base64. Подставить в атрибут href. И программно кликнуть по ссылке.
Могут возникнуть проблемы с файлами больше 8 мб

Второй вариант

Отправляем сырой код. И воспользуемся 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);
})

Результат подставить в атрибут href. И программно кликнуть по ссылке.

blog comments powered by Disqus