Tôi có ứng dụng Máy tính để bàn Node Webkit và cần tải xuống tệp từ máy chủ và lưu cục bộ khi người dùng ngoại tuyến. Tôi có thể tải xuống và lưu tệp khi tôi biết tên tệp là gì, nhưng làm cách nào để đọc nội dung của thư mục trên máy chủ để tôi có thể tải xuống từng tệp?Node.js - đọc và tải xuống tất cả các tệp trong thư mục từ máy chủ và lưu cục bộ
function cacheFiles(filelink, filepath, cb) {
var path_array = filelink.split("/");
var foldername = path_array[path_array.length - 2]
//create new folder for locally html files
var newdir = filepath + '/' + foldername;
if (fs.existsSync(newdir)){
alert('file already exists, cannot cache this file.');
} else {
fs.mkdirSync(newdir);
}
//download and save index.html - THIS WORKS
var indexfile = fs.createWriteStream(newdir+'/index.html');
var request = http.get(filelink, function(response) {
response.pipe(indexfile);
indexfile.on('finish', function() {
indexfile.close(cb);
});
});
//read contents of data folder - THIS DOESN'T WORK
var datafolder = filelink.replace('index.html','');
fs.readdir(datafolder, function (err, datafiles) {
if (!err) {
console.log(datafiles);
}else{
console.log(err) ;
}
});
}
Các lỗi tôi nhận được trong giao diện điều khiển của tôi là:
"ENOENT: không có tập tin hoặc thư mục như vậy, scandir 'C: \ Users \ my.name \ desktopApp \ ứng dụng \ http: \ www.mysite.co.uk \ wp-content \ tải lên \ wifi_corp2 \ data '"
Ở trên là tìm kiếm tệp cục bộ chứ không phải ở liên kết trực tuyến tôi đã cung cấp trong filelink ví dụ: http://www.mysite.co.uk/wp-content/uploads/wifi_corp2/data
Thư mục bạn đang tìm cách tải xuống ở đâu? –
trên máy chủ của tôi, ví dụ: http: \ www.mysite.co.uk \ wp-content \ uploads \ wifi_corp2-1475754605 \ data – LeeTee
Bạn có thể truy cập danh sách tệp, danh sách tệp để tải xuống không? –