Мне нужно скачать несколько файлов с URL-адресов. У меня есть список из них в файле. Как мне это сделать? Я уже сделал это, но он не работает. Мне нужно до тех пор, пока последняя загрузка не будет выполнена до начала следующего wan. Как я могу это сделать?Node.js скачать несколько файлов
1
A
ответ
5
Вы хотите вызвать функцию загрузки из обратного вызова файла до этого. Я бросил вместе что-то, не считают это довольно ни производство готовых, пожалуйста ;-)
var http = require('http-get');
var files = { 'url' : 'local-location', 'repeat-this' : 'as often as you want' };
var MultiLoader = function (files, finalcb) {
var load_next_file = function (files) {
if (Object.keys(files) == 0) {
finalcb(null);
return;
}
var nexturl = Object.keys(files)[0];
var nextfnname = files[nexturl];
console.log('will load ' + nexturl);
http.get(nexturl, nextfnname, function (err, result) {
console.log('loaded ' + nexturl);
delete files[nexturl];
load_next_file(files);
});
};
load_next_file(JSON.parse(JSON.stringify(files)));
};
MultiLoader(files, function() { console.log('finalcb'); });
http-get
не стандартный модуль узла, вы можете установить его с помощью npm install http-get
.
+1
Самая большая проблема заключается в том, как читать файл, где находится список файлов для загрузки. Пожалуйста, как я это делаю? – user2316602
0
Вы можете читать файлы с помощью фс (вар фс = требуется («фс»);) в узел JS
fs.readFile('<filepath>', "utf8", function (err, data) {
if (err) throw err;
console.log(data);
});
вам нужно извлечь файлы со страницы, заданной URL ли? или вы просто хотите загрузить URL-адреса? – user568109