import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
/**
* 上传图片(使用sftp)
* @author tianyunpeng
* @date 2020年3月20日
* @param bean
* @return
* @throws JSchException
*/
public boolean sxIconSetSftp(ImageBean bean) throws IOException, JSchException{
String imgBase64 = bean.getImgBase64().replace("data:image/png;base64,", "");
Base64 base64= new Base64();
byte[] imgBytes=base64.decode(imgBase64);
boolean b = true;
InputStream input = new ByteArrayInputStream(imgBytes);
// sftp上传
String host = "192.168.0.1"; // 服务器的ip
int post = 8080; // 服务器的端口号
String username = "root"; // 服务器用户名
String password = "root"; // 服务器密码
String fileName = bean.getBm() + ".png";
String filePath = "/usr/local/o/icon/img/"; // 服务器文件夹目录
if(null != bean.getIp() && !"".equals(bean.getIp())){
host = bean.getIp();
log.info("host ====="+host);
}
if(null != bean.getPost() && !"".equals(bean.getPost() + "")){
post = bean.getPost();
log.info("post ====="+post);
}
if(null != bean.getFilePath()){
filePath = bean.getFilePath();
log.info("filePath====="+filePath);
}
if(null != bean.getFileName()){
fileName = bean.getFileName();
log.info("fileName====="+fileName);
}
// 使用sftp试试
JSch jsch = new JSch();
Session session = jsch.getSession(username,host,post);
session.setPassword(password);
Properties config = new Properties();
config.put( "StrictHostKeyChecking" , "no" );
session.setConfig(config);
session.connect();
ChannelSftp channelSftp = (ChannelSftp)session.openChannel( "sftp" );
log.info("channelSftp==="+channelSftp);
channelSftp.connect();
// Vector vector = channelSftp.ls(filePath);
// for (Object item:vector) {
// ChannelSftp.LsEntry entry = (ChannelSftp.LsEntry) item;
// log.info("测试是否连接成功"+entry.getFilename());
// }
try {
channelSftp.put(input,filePath+fileName);
} catch (Exception e) {
e.printStackTrace();
}
session.disconnect();
channelSftp.disconnect();
// 使用sftp结束
return true;
}
java中使用sftp实现向ftp服务器上传图片/文件
最新推荐文章于 2024-03-01 16:04:29 发布