1、上傳本地圖片至遠程ftp服務器
@Test
public void uploadFTP() throws IOException {
String fj = "";
FTPClient ftp = new FTPClient();
String baseFtpPath = "ftp://102.0.171.174:21";
String localFilePath = "G:\\work\\1.png";
String ftpPath = "/usr/faceScan/aa/" + "text.png";
if (!ftp.isConnected()) {
int reply;
ftp.connect("102.0.171.174", 21);
ftp.login("root", "123456");
reply = ftp.getReplyCode();
System.out.println(reply);
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
}
}
File localFile = new File(localFilePath);
String ftpDir = ftpPath.substring(0, ftpPath.lastIndexOf("/"));
String[] dirs = ftpDir.split("/");
for (String dir : dirs) {
ftp.makeDirectory(dir);
ftp.changeWorkingDirectory(dir);
}
InputStream input = new FileInputStream(localFile);
while (true){
int read = input.read();
if(read < 0){
break;
}
System.out.println((char)read + " =========");
}
ftp.enterLocalPassiveMode();
ftp.setFileTransferMode(FTP.STREAM_TRANSFER_MODE);
ftp.setFileType(FTP.BINARY_FILE_TYPE);
boolean t = ftp.storeFile(location.substring(location.lastIndexOf("/") + 1), input);
System.out.println(t);
input.close();
fj = fj + (baseFtpPath + ftpPath) + ",";
for (int i = 0; i < dirs.length; i++) {
ftp.changeToParentDirectory();
}
if (ftp.isConnected()) {
ftp.logout();
}
}
2、從微信素材庫獲取圖片後上傳至遠程ftp服務器
......
try {
Object accessToken = redisTemplate.opsForValue().get("WxConfigAccesstoken");
byte[] ret = null;
String url = "https://api.weixin.qq.com/cityservice/face/identify/getimage?access_token=" + accessToken;
JSONObject jsonVerify = new JSONObject();
jsonVerify.put("verify_result", btUser.getCode());
ret = HttpConnectionPoolUtil.weixinPostReturnByte(url, jsonVerify.toJSONString(), null);
if (ret.length < 10000) {
return BaseRespone.ok(Code.JWT_INSERT_ERROR_CODE, Code.JWT_INSERT_ERROR_MSG);
}
btUser.setCode(String.valueOf(ret));
String fj = "";
FTPClient ftp = new FTPClient();
String baseFtpPath = "ftp://102.0.171.174:21";
String ftpPath = "/usr/faceScan/" + UUID.randomUUID().toString() + ".png";
if (!ftp.isConnected()) {
int reply;
ftp.connect(ftpIp, ftpPort);
ftp.login(username, password);
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
}
}
String ftpDir = ftpPath.substring(0, ftpPath.lastIndexOf("/"));
String[] dirs = ftpDir.split("/");
for (String dir : dirs) {
ftp.makeDirectory(dir);
ftp.changeWorkingDirectory(ftpDir);
}
InputStream input = new ByteArrayInputStream(ret);
ftp.enterLocalPassiveMode();
ftp.setFileTransferMode(FTP.STREAM_TRANSFER_MODE);
ftp.setFileType(FTP.BINARY_FILE_TYPE);
boolean t = ftp.storeFile(location.substring(location.lastIndexOf("/") + 1), input);
input.close();
fj = fj + (baseFtpPath + ftpPath) + ",";
for (int i = 0; i < dirs.length; i++) {
ftp.changeToParentDirectory();
}
if (ftp.isConnected()) {
ftp.logout();
}
}catch (Exception e){
e.printStackTrace();
}