Skip to content

Instantly share code, notes, and snippets.

@valdineireis
Last active January 23, 2020 03:55
Show Gist options
  • Save valdineireis/9dfe5d10d6184fefa06636989cb8449f to your computer and use it in GitHub Desktop.
Save valdineireis/9dfe5d10d6184fefa06636989cb8449f to your computer and use it in GitHub Desktop.
Adicione os links no componente HTML Textarea, cada link em uma linha, e clique em Download. O script irá efetuar uma requisição GET no intuito de baixar o(s) arquivo(s).
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Download de Multiplos Arquivos</title>
<style type="text/css">
body { padding: 10px; background-color: #eee; }
textarea { width: 100%; margin-bottom: 10px; }
button { padding: 10px; }
label { font-weight: bold; }
</style>
<script>
function getLinks() {
var textArea = document.getElementById("taLinks");
var arrayOfLines = textArea.value.split("\n");
return arrayOfLines;
}
function downloadAll(urls) {
if (urls[0].trim().length < 1) {
alert('Informe a URL!');
return;
}
var link = document.createElement('a');
link.setAttribute('download', null);
link.style.display = 'none';
document.body.appendChild(link);
for (var i = 0; i < urls.length; i++) {
if (urls[i].trim().startsWith("http") || urls[i].trim().startsWith("https")) {
link.setAttribute('href', urls[i].trim());
link.click();
}
}
document.body.removeChild(link);
}
function run() {
downloadAll(getLinks());
}
</script>
</head>
<body>
<h1>Download de Multiplos Arquivos</h1>
<label>Links:</label>
<small>(Adicione um link por linha)</small>
<br>
<textarea id="taLinks" rows="20" cols="100" autofocus></textarea>
<br>
<button onclick="run()">Download</button>
</body>
</html>
@valdineireis
Copy link
Author

valdineireis commented Jan 23, 2020

Olá Renyo! Se o servidor não tiver tratativa de bloqueio, sim, irá funcionar. Mas esse é um exemplo bem simples, caso precise de algo mais elaborado, precisamos pensar em outras alternativas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment