1、首先执行 npm install 安装 ssh2-sftp-client 、 path、recursive-readdir 。 ssh2-sftp-client是请求时使用的client, path用来读取路径,recursive-readdir读取本地执行的文件夹

let Client = require('ssh2-sftp-client');let path = require('path');let sftp = new Client();let recursive = require("recursive-readdir");

2、配置sftp的链接信息

let remote_path ="服务器路径";let local_path ="本地路径";let options = {host: "172.0.0.0",port: 22,username: "userName",password:"password"};

3、创建sftp进行上传

try {sftp.connect(options).then((res) => {// 读取文件夹recursive(local_path, ["*.vue", "*.gif", "*.less", ".DS_Store"], async (err,      files) => {new Promise(async (c, e) => {// 先移除sftp上数据let list = await sftp.list(remote_path);for (let i in list) {let data = list[i];if (data.type === '-') {//文件console.log("移除文件:",remote_path + data.name);await sftp.delete(remote_path + data.name);} else if (data.type === 'd') { //文件夹console.log("移除文件夹:", remote_path + data.name);await sftp.rmdir(remote_path + data.name, true);}}console.log('------------ 移除完毕 ------------');// 上传数据for (let i = 0; i < files.length; i++) {let file = files[i];let s = file.split('/');//注:路径这里根据自己的实际需要进行拼接            //  s.splice(0, 2);// 文件短路径let shortPath = '';for (let idx = 0; idx < s.length; idx++) {shortPath += `${s[idx]}${idx === s.length - 1 ? '' : '/'}`;}// 文件夹路径let serverP = '';s.forEach((sp, idx) => {if (idx !== s.length - 1) serverP += `${sp}/`;});// 文件夹是否存在let serverPath = remote_path + serverP;try {await sftp.stat(serverPath);} catch (e) {await sftp.mkdir(serverPath, true);}console.log("更新:", path.join(path.resolve(file)), "\n", remote_path + shortPath);sftp.put(path.join(path.resolve(file)), remote_path + shortPath);}console.log("---------------- 上传完成 --------------");});});});} catch (e) {console.log("---------------- 上传失败 --------------");console.log(e);}

sftp上传文件的js脚本相关推荐

  1. 编写shell脚本-sftp上传文件

    先简单的写一下shell脚本的流程. #创建一个sh文件 nano yulisao.sh #编写shell脚本命令 # 略,根据自己需要编写.示例如下 #! /bin/sh echo "请输 ...

  2. java ssh 服务器文件传输_java使用SFTP上传文件到资源服务器

    本文实例为大家分享了java实现SFTP上传文件到资源服务器工具类,供大家参考,具体内容如下 首先得创建连接sftp服务器的公共类MySftp.java: package cn.test.util; ...

  3. java sftp 上传文件_java使用SFTP上传文件到资源服务器

    本文实例为大家分享了java实现SFTP上传文件到资源服务器工具类,供大家参考,具体内容如下 首先得创建连接sftp服务器的公共类MySftp.java: package cn.test.util; ...

  4. linux sftp 上传文件内容为空,求linux 下 C/c++ 实现SFTP上传文件的代码,或shell 写的如何区分上传是否成功?...

    如题求linux系统下C/C++实现SFTP上传文件的代码,最好有一定的中文注释,谢谢了. 或是, 我看FTP上传的shell写的比较简单,但是,如何能判断是否上传成功哪?? 如果想做上传的进度条的话 ...

  5. C# SFTP上传文件

    最近工作中用到一个SFTP上传文件的功能,因为客户端是C#做的就搜索了一些C#SFTP资料,发现网上除了一篇博客外还没有一篇系列完整的整理文档,就整理了下,希望大家多提建议,共同提高. sftp是Se ...

  6. 【便签纸】记录一次Linux服务器上通过sftp上传文件时的错误

    背景:在Linux服务器上,通过sftp上传文件到远程服务器. 首先,需要登录远程服务器,格式是: sftp [服务器名]@[服务器地址] 然后,需要输入服务器密码: [服务器名]@[服务器地址]'s ...

  7. SecureCRT sftp上传文件报错:put: failed to upload xxx 拒绝访问

    1.问题 使用sftp上传文件时报错:put: failed to upload xxx 拒绝访问.类似下图所示: 2.原因 造成这个问题的原因可能有两个,一是要上到的那个目录剩余磁盘空间不足,二是打 ...

  8. sftp上传文件和下载文件

    sftp上传文件和下载文件 在SecrueCRT中使用stfp命令 sftp中的常用命令 pwd lpwd ls lls put-上传文件到服务器 get-下载文件到本地 在SecrueCRT中使用s ...

  9. java使用sftp上传(文件)图片到服务器中

    最近租了一个服务器,想着上线个小项目,结果图片上传卡壳了,自从11号看了一篇文章就入了ftp的坑.研究了十多个小时的ftp文件传输,无果.睡前看到了一篇关于sftp上传文件的文章,抱着试一试的心态,结 ...

最新文章

  1. Java Socket编程 - 基于TCP方式的二进制文件传输【转】http://blog.csdn.net/jia20003/article/details/8248221...
  2. Nat.Commun.|使用基于注意力机制的多标签神经网络预测并解释12种RNA修饰
  3. 【windows】dos命令查看某个文件夹下所有文件目录列表
  4. Mysql:Access denied for user ‘root@localhost‘ (using password:NO)
  5. Scala入门到精通——第四节 Set、Map、Tuple、队列操作实战
  6. Socket.IO for Unity 简要介绍
  7. 使用 Tye 辅助开发 k8s 应用竟如此简单(五)
  8. python生成任意n阶的三对角矩阵
  9. 解决Ubuntu的root账号无法登录SSH问题-Permission denied, please try again.
  10. flask ai 简单语音对话
  11. 电赛-风力摆控制系统
  12. 使用opencv在视频中插入文字、图片;生成特定文字视频
  13. python计算梯形面积程序编程解题思路_编写程序计算梯形面积
  14. Vue 中使用 codemirror
  15. Structure-Grounded Pretraining for Text-to-SQL 论文解读
  16. 基于JAVA校园快递代领系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  17. Java程序员都是青春饭吗?
  18. 2017互联网月饼哪家强?腾讯、阿里、百度、网易等21家中秋月饼盘点
  19. 江西师大计算机系周洁,江西师大2005年学习之星申报者汇总表.doc
  20. 项目管理领域关键知识点之横道图和网络图

热门文章

  1. Thread类的有关方法
  2. OpenCV之Sobel算子
  3. Idea不区分大小写
  4. python计算长方形周长代码_python微元法计算函数曲线长度的方法
  5. 成为会带团队的技术人 升级汰换:“心要慈,刀要快”
  6. SSH远程登录工具-Putty初步使用
  7. 未名之光MeGauging(实现一个轻量级的机器视觉软件,九大神奇)
  8. sql数据类型有哪些
  9. 使用ssh 连接linux 并传送文件
  10. JavaWeb实现文件下载