Возможно ли потоковое скачивание больших файлов с помощью Vue.js? - PullRequest
0 голосов
/ 27 октября 2019

спасибо большое заранее.

Итак, я пытаюсь найти решение (поиск в Google, ничего не нашел) для потоковой загрузки. Я имею в виду, что я делаю экспорт данных в CSV-файл, но иногда данные могут быть размером до 7 МБ, что очень тяжело как для моего бэкэнда, так и для моего пользователя.

Я пишуin Vue Наш Backend написан на PHP (Yii 1.1)

Вот так я сейчас скачиваю файл

 exportCsv() {
                this.loading = true;
                let payload = this.csvPayload; /// computed property
                this.$http
                    .post("/statistics/apiurl", payload)
                    .then(response => {
                        this.loading = false;
                        const url = window.URL.createObjectURL(new Blob([response.data]));
                        const link = document.createElement('a');
                        link.href = url;
                        link.setAttribute('download', 'excelFile.csv'); //or any other extension
                        document.body.appendChild(link);
                        link.click();
                    })
                    .catch(error => {
                        this.loading = false;
                        this.campaignsLoading = false;
                        console.log("Problem fetching csv file: ", error.message);
                    });
            },

Это здорово! но опять же, если файл действительно большой, он тяжелый для бэкэнда и пользователя.

Как я уже сказал, есть ли способ потоковой загрузки файлов? или я подумал, что мог бы создать наблюдаемое в другом файле, которое будет прослушивать данные, и по окончании передачи отправлять обратный вызов моему компоненту vue ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...