JavaScript для загрузки текстовых файлов вместо открытия - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь создать виртуальные ссылки в списке файлов для загрузки с использованием JavaScript.Проблема в том, что он открывает все файлы на новых вкладках, а не загружает их напрямую.Я хочу, чтобы он загружался, а не открывался в новой вкладке.

Любая помощь по этому вопросу будет высоко оценена.До сих пор я пытался использовать следующий код для этой цели.

var link = document.createElement('a');
link.style.display = 'none';
document.body.appendChild(link);

for (var i = 0; i < links.length; i++) {
      link.href = links[i];
      link.download = tfiles[i];
      link.target = '_blank';
      link.click();

}
document.body.removeChild(link);    

1 Ответ

0 голосов
/ 26 сентября 2019

Вы хотите использовать Blob для этого.Вы можете использовать fetch, чтобы получить блоб, а затем загрузить.Аналогично ниже:

var link = document.createElement('a');
link.style.display = 'none';
document.body.appendChild(link);
for (var i = 0; i < links.length; i++) 
{
    fetch(links[i])
        .then(response => response.blob())
        .then(blob => {
            var url = window.URL.createObjectURL(blob);
            link.href = url;
            link.download = 'file_' + i;
            link.click();
            window.URL.revokeObjectURL(url)
         })
}
document.body.removeChild(link);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...