Загрузите файл .gz, используя jQuery - PullRequest
0 голосов
/ 10 февраля 2020

Мне нужно вызвать удаленную службу, чтобы загрузить сжатый файл (csv.gz). Я должен использовать jQuery, потому что я должен установить HTTP-заголовок аутентификации. Я пытался что-то вроде этого:

$.ajax({
                type: "GET",
                url: url
            }).done(function (res) {
                const a = document.createElement('a');
                a.style = 'display: none';
                document.body.appendChild(a);
                const blob = new Blob([res]);
                const url = URL.createObjectURL(blob);
                a.href = url;
                a.download = _this.attributes.id + '.' + _DEFAULT_DOWNLOADED_FILE_EXTENTION;
                a.click();
                URL.revokeObjectURL(url);
            }).fail(function (err) { });

Я могу загрузить файл, но после загрузки я попытался разархивировать его на моем p c, но файл не правильный (поврежден) , Возможно, создание Blob, которое я использовал, неверно.

1 Ответ

0 голосов
/ 10 февраля 2020

Вы пытаетесь загрузить двоичные данные, вы можете получить их, используя типизированные массивы в JavaScript, здесь , например, в MDN.

В отношении установки Заголовок аутентификации, вам не нужно jQuery для этого. Здесь - это XHR API, который позволяет вам сделать это.

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