1、在centos上搭建sftp服务器
参考:https://blog.csdn.net/woailyoo0000/article/details/79783427
2、下载网络文件,然后上传到sftp服务器
download(sourceUrl, newFileName, function(){
console.log('文件下载完成')
sendFileToServer('./downfiles/' + newFileName, '/sftp/images/weatherImg/forecast/' + newFileName)
console.log('文件上传完成')
})
// 下载网络文件
function download (uri, filename, callback){
request.head(uri, function(err, res, body){
if (err) {
console.log('header error。网络文件不存在');
}
if (!err && res.statusCode == 200) {
//Download the image
request(uri).pipe(fs.createWriteStream('./downfiles/' + filename)).on('close', callback);
}
});
};
//使用ssh2-sftp-client上传文件到linux服务器
function sendFileToServer(localFile, remoteFile){
//通过ssh连接服务器
sftp.connect({
host: '****',
port: '***',
username: 'sftpuser',
password: '***'
}).then(() => {
//上传图片到服务器
return sftp.put(localFile, remoteFile)
}).then((data) => {
console.log(data, 'the data info');
}).catch((err) => {
console.log(err, 'catch error');
});
}
wgyfreedom
发布了8 篇原创文章 · 获赞 11 · 访问量 2万+
私信
关注