基于SFTP的文件上传
环境及工具
Linux CentOS 7.6 64位
xshell 6.0
xftp 6.0
下载地址: xftp 6.0 及 xshell 6.0 官网链接免费申请.
1.创建用户
添加用户:useradd + 用户名
修改用户密码:passwd + 用户名
我这里采用的是demo的项目名。
2. Springboot项目
项目添加依赖
<!-- 读取配置文件 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-configuration2</artifactId>
<version>2.2</version>
</dependency>
<!-- 被commons-configuration2包所依赖 -->
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.3</version>
</dependency>
<!-- sftp下载 -->
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.55</version>
</dependency>
创建文件上传配置文件:file.properties
# sftp服务器上传文件地址
sftp.directory=/home/sftp/file/
# sftp服务器地址
sftp.host=39.106.151.76
# sftp服务器端口
sftp.port=22
# sftp服务器登录用户名
sftp.username=sftp
# sftp服务器登录密码
sftp.password=love1314.
# sftp服务器下载文件保存地址
sftp.savePath=D:\\
编写工具类:SftpJSchUtil.java
package top.lottol.sftp.utils;
import com.jcraft.jsch.*;
import org.apache.commons.configuration2.Configuration;
import org.apache.commons.configuration2.builder.fluent.Configurations;
import org.apache.commons.configuration2.ex.ConfigurationException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.FileOutputStream;
import java.io.Input