Как загрузить несколько ссылок на zip-файл со страницы html - PullRequest
1 голос
/ 26 апреля 2020

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

Теперь я пытаюсь дать кнопку внизу моей страницы, который может быть использован для загрузки всех ссылок. он должен в основном скачать zip-папку, в которой есть все файлы (которые соответствуют вышеуказанным ссылкам в строке таблицы)

Я погуглил, код использует jsZipUtil, но я не могу найти скрипт для включения в мой html file sr c тег для его использования.

Я не хочу использовать npm install, так как я sh передаю ссылку html моему другу, и я хочу, чтобы ссылка должна работать и на его ноутбуке, без загрузки каких-либо вещей npm.

Есть ли выход? Любой способ будет работать (с / без jsziputil)

Вот мой код: В настоящее время он дает мне ошибку, что неопределенная ссылка на jsZipUtils ..

function urlToPromise(url) {
return new Promise(function(resolve, reject) {
    JSZipUtils.getBinaryContent(url, function (err, data) {
        if(err) {
            reject(err);
        } else {
            resolve(data);
        }
    });
  });
}

function downloadAll() {

//Create zip file object
var zip = new JSZip();

for (var i = 0; i < allLinks.length; i++) {      
zip.file(allFileNames[i], urlToPromise(allLinks[i]), {binary:true});
}

//Compile all the data into memory.
var base64 = null;
if (JSZip.support.uint8array) {
  promise = zip.generateAsync({type : "uint8array"});
} else {
  promise = zip.generateAsync({type : "string"});
}

//Generate the zip file and download it.
zip.generateAsync({type:"base64"}).then(function (base64) {
    location.href="data:application/zip;base64," + base64; 
});

}

С уважением

...