1 yml内容
2 新建Java配置类
@Configuration
@ConfigurationProperties(prefix = "ftp")
@Data
public class FtpConfig {
/**
* 静态资源展现的连接
*/
private String showUrl;
/**
* sftp服务器存储路径
*/
private String serverFilePath;
/**
* sftp服务器IP
*/
private String ip;
/**
* sftp用户名
*/
private String userName;
/**
* sftp用户密码
*/
private String password;
/**
* sftp端口
*/
private int port;
/**
* 上传文件大小限制,单位B
*/
private int maxFileSize;
}
3 程序中使用
private UploadFileResp upload(MultipartFile file) {
try {
// 文件名
String originFileName = file.getOriginalFilename();
String[] fNames = originFileName.split("\\.");
String suffix = fNames.length >= 1 ? fNames[fNames.length - 1] : "";
String fileName = TimeUtil.getDateString(new Date(), TimeUtil.FORMAT_YMDHMS) + "." + suffix;
// 文件字节码
byte[] bytes = null;
bytes = file.getBytes();
Long fileSize = file.getSize();
if (fileSize > ftpConfig.getMaxFileSize()) {
return new UploadFileResp(false, "上传文件太大,已超过" + ftpConfig.getMaxFileSize() / 1024 / 1024 + "M限制");
}
SftpUtil ftpUtil = new SftpUtil(ftpConfig.getIp(),ftpConfig.getPort(), ftpConfig.getUserName(), ftpConfig.getPassword(), ftpConfig.getServerFilePath()+ File.separator + TimeUtil.getDateString(new Date(), TimeUtil.FORMAT_YMD));
ftpUtil.upLoadFile(fileName, bytes);
return new UploadFileResp(true, ftpConfig.getShowUrl() + File.separator + fileName);
} catch (Exception e) {
e.printStackTrace();
return new UploadFileResp(false, "失败");
}
}