背景
最近项目上需要实现一个功能:文件通过sftp的方式上传到服务器,找出了以前写的代码,整理了下能用,这里我用电脑虚拟机上的服务器来做目标服务器了。具体实现往下面看吧!
实现步骤
-
首先你得有一个项目能跑起来,我这里用的是springboot项目(没有的可以新建一个,这里就不多说了)。
-
接下来要配置sftp的账号、密码、ip、端口、以及要上传到目标服务器的路径,要保证是能连接通的。可以选择将这些数据放在数据库,也可以放在配置文件里。我这里是放在resources下的application.properties这个配置文件中了。
-
配置文件以及工具类的目录。
-
这里是命名的一些属性,填写目标服务器对应的属性即可。
-
添加获取配置文件的工具类。
主要代码截图:
-
添加实现sftp上传到服务器的工具类。
主要代码截图:
-
控制层测试方法,因为没有写前端代码,所以这里将本地文件模拟成从前端传来的MultipartFile文件类型,达到同等效果。我这里还加了异步调用,可以忽略哈。
主要代码截图:
-
调用接口,上传成功后可以在目标服务器对应文件夹下看到已经上传成功了。
9.需要用到的jar依赖
<dependency>
<groupId>org.springframework.boot</groupI