|
|
|
@ -1162,11 +1162,68 @@ public class IdcServiceImpl implements IdcService {
|
|
|
|
|
return success;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean signleDownloadFile(String syncIp, String fileName) {
|
|
|
|
|
String filePathSlash = fileName.substring(filePath.length() - 1).equals("/") ? "" : "/";
|
|
|
|
|
if(!FileUtils.makeDirectory(filePath + filePathSlash + imagePath))
|
|
|
|
|
IDCUtils.createDirectory(filePath + filePathSlash + imagePath);
|
|
|
|
|
OkHttpClient client = new OkHttpClient().newBuilder()
|
|
|
|
|
.build();
|
|
|
|
|
;
|
|
|
|
|
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
|
|
|
|
|
|
|
|
|
|
RequestBody body = RequestBody.create(mediaType, "fileName=" + fileName);
|
|
|
|
|
|
|
|
|
|
Request request = new Request.Builder()
|
|
|
|
|
.url(syncIp + "/spssync/common/downloadFile")
|
|
|
|
|
.post(body)
|
|
|
|
|
.addHeader("Content-Type", "application/x-www-form-urlencoded")
|
|
|
|
|
.build();
|
|
|
|
|
int total = 0;
|
|
|
|
|
try {
|
|
|
|
|
Response result = client.newCall(request).execute();
|
|
|
|
|
String msg = result!=null ? result.message().length()>200 ? result.message().substring(0,200) : result.message() : "";
|
|
|
|
|
|
|
|
|
|
if (result!=null&&result.isSuccessful()&&MediaType.parse("application/force-download").equals(result.body().contentType())) {
|
|
|
|
|
try (InputStream inputStream = result.body().byteStream()) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FileOutputStream outputStream = new FileOutputStream(filePath + filePathSlash + imagePath+fileName);
|
|
|
|
|
|
|
|
|
|
byte b[] = new byte[1024];
|
|
|
|
|
|
|
|
|
|
int len = 0;
|
|
|
|
|
while ((len = inputStream.read(b)) != -1) {
|
|
|
|
|
total += len;
|
|
|
|
|
outputStream.write(b, 0, len);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
outputStream.flush();
|
|
|
|
|
outputStream.close();
|
|
|
|
|
if(!(total>0)) {
|
|
|
|
|
new File(filePath + filePathSlash + imagePath+fileName).delete();
|
|
|
|
|
executeSql("delete from idc_file where filePath='"+fileName+"'");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(!(total>0)) {
|
|
|
|
|
String sql = "replace idc_file (filePath,createTime,msg) values ('"+fileName+"',now(),'"+msg+"')";
|
|
|
|
|
executeSql(sql);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
// TODO Auto-generated catch block
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
return (total>0);
|
|
|
|
|
}
|
|
|
|
|
// @Override
|
|
|
|
|
// public boolean signleDownloadFile(String syncIp, String fileName) {
|
|
|
|
|
// String filePathSlash = fileName.substring(filePath.length() - 1).equals("/") ? "" : "/";
|
|
|
|
|
// if(!FileUtils.makeDirectory(filePath + filePathSlash + imagePath))
|
|
|
|
|
// IDCUtils.createDirectory(filePath + filePathSlash + imagePath);
|
|
|
|
|
// OkHttpClient client = new OkHttpClient().newBuilder()
|
|
|
|
|
// .build();
|
|
|
|
|
// ;
|
|
|
|
@ -1187,8 +1244,12 @@ public class IdcServiceImpl implements IdcService {
|
|
|
|
|
// if (result!=null&&result.isSuccessful()&&MediaType.parse("application/force-download").equals(result.body().contentType())) {
|
|
|
|
|
// try (InputStream inputStream = result.body().byteStream()) {
|
|
|
|
|
//
|
|
|
|
|
// String path = fileName.substring(0,fileName.lastIndexOf("/"));
|
|
|
|
|
// if(!FileUtils.makeDirectory(path))
|
|
|
|
|
// IDCUtils.createDirectory(path);
|
|
|
|
|
//
|
|
|
|
|
// FileOutputStream outputStream = new FileOutputStream(filePath + filePathSlash + imagePath+fileName);
|
|
|
|
|
//
|
|
|
|
|
// FileOutputStream outputStream = new FileOutputStream(fileName);
|
|
|
|
|
//
|
|
|
|
|
// byte b[] = new byte[1024];
|
|
|
|
|
//
|
|
|
|
@ -1202,7 +1263,7 @@ public class IdcServiceImpl implements IdcService {
|
|
|
|
|
// outputStream.flush();
|
|
|
|
|
// outputStream.close();
|
|
|
|
|
// if(!(total>0)) {
|
|
|
|
|
// new File(filePath + filePathSlash + imagePath+fileName).delete();
|
|
|
|
|
// new File(fileName).delete();
|
|
|
|
|
// executeSql("delete from idc_file where filePath='"+fileName+"'");
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
@ -1222,67 +1283,6 @@ public class IdcServiceImpl implements IdcService {
|
|
|
|
|
// }
|
|
|
|
|
// return (total>0);
|
|
|
|
|
// }
|
|
|
|
|
@Override
|
|
|
|
|
public boolean signleDownloadFile(String syncIp, String fileFullName) {
|
|
|
|
|
OkHttpClient client = new OkHttpClient().newBuilder()
|
|
|
|
|
.build();
|
|
|
|
|
;
|
|
|
|
|
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
|
|
|
|
|
|
|
|
|
|
RequestBody body = RequestBody.create(mediaType, "fileName=" + fileFullName);
|
|
|
|
|
|
|
|
|
|
Request request = new Request.Builder()
|
|
|
|
|
.url(syncIp + "/spssync/common/downloadFile")
|
|
|
|
|
.post(body)
|
|
|
|
|
.addHeader("Content-Type", "application/x-www-form-urlencoded")
|
|
|
|
|
.build();
|
|
|
|
|
int total = 0;
|
|
|
|
|
try {
|
|
|
|
|
Response result = client.newCall(request).execute();
|
|
|
|
|
String msg = result!=null ? result.message().length()>200 ? result.message().substring(0,200) : result.message() : "";
|
|
|
|
|
|
|
|
|
|
if (result!=null&&result.isSuccessful()&&MediaType.parse("application/force-download").equals(result.body().contentType())) {
|
|
|
|
|
try (InputStream inputStream = result.body().byteStream()) {
|
|
|
|
|
|
|
|
|
|
String path = fileFullName.substring(0,fileFullName.lastIndexOf("/"));
|
|
|
|
|
if(!FileUtils.makeDirectory(path))
|
|
|
|
|
IDCUtils.createDirectory(path);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FileOutputStream outputStream = new FileOutputStream(fileFullName);
|
|
|
|
|
|
|
|
|
|
byte b[] = new byte[1024];
|
|
|
|
|
|
|
|
|
|
int len = 0;
|
|
|
|
|
while ((len = inputStream.read(b)) != -1) {
|
|
|
|
|
total += len;
|
|
|
|
|
outputStream.write(b, 0, len);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
outputStream.flush();
|
|
|
|
|
outputStream.close();
|
|
|
|
|
if(!(total>0)) {
|
|
|
|
|
new File(fileFullName).delete();
|
|
|
|
|
executeSql("delete from idc_file where filePath='"+fileFullName+"'");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(!(total>0)) {
|
|
|
|
|
String sql = "replace idc_file (filePath,createTime,msg) values ('"+fileFullName+"',now(),'"+msg+"')";
|
|
|
|
|
executeSql(sql);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
// TODO Auto-generated catch block
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
return (total>0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*获取转发服务地址,当前值允许单向,只使用参数upper_server_ip*/
|
|
|
|
|
private String getNextHost() {
|
|
|
|
|