//先利用fs模块获取所有文件
var walk = function (dir, done) {
var results = [];
fs.readdir(dir, function (err, list) {
if (err) return done(err);
var pending = list.length;
if (!pending) return done(null, results);
list.forEach(function (file) {
file = path.resolve(dir, file);
fs.stat(file, function (err, stat) {
if (stat && stat.isDirectory()) {
walk(file, function (err, res) {
results = results.concat(res);
if (!--pending) done(null, results);
});
} else {
results.push(file);
if (!--pending) done(null, results);
}
});
});
});
};
其次利用node-ftp 上传
c.on('ready', function () {
var tpath = path.resolve(__dirname, '..') + "/yueyang_vue_wx/dist";
walk(tpath, function (err, results) {
if (err) throw err;
results.forEach(function (filename) {
(function (filename) {
var spath = '根据filename 获取文件名';
c.put(filename, spath, function (err) {
if (err) throw err;
console.dir("上传文件" + spath);
c.end();
});
})(filename)
});
});
});