|
@ -3,6 +3,8 @@ package com.yihu.hos.core.datatype;
|
|
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.yihu.hos.core.file.FileUtil;
|
|
|
import com.yihu.hos.core.http.HTTPResponse;
|
|
|
import com.yihu.hos.core.http.HttpClientKit;
|
|
|
import com.yihu.hos.core.log.Logger;
|
|
|
import com.yihu.hos.core.log.LoggerFactory;
|
|
|
import org.apache.http.HttpEntity;
|
|
@ -182,14 +184,15 @@ public class ClassFileUtil {
|
|
|
|
|
|
/**
|
|
|
* 下载文件,返回下载后的文件地址
|
|
|
* @param downUrl http请求地址
|
|
|
* @param url 本地保存根目录
|
|
|
* @param packageName 包名
|
|
|
* @param className 类名
|
|
|
* @param fileType 文件类型
|
|
|
*
|
|
|
* @param downUrl http请求地址
|
|
|
* @param url 本地保存根目录
|
|
|
* @param packageName 包名
|
|
|
* @param className 类名
|
|
|
* @param fileType 文件类型
|
|
|
* @return
|
|
|
*/
|
|
|
public static String downFile(String downUrl,URL url, String packageName, String className, String fileType) {
|
|
|
public static String downFile(String downUrl, URL url, String packageName, String className, String fileType) {
|
|
|
try {
|
|
|
String packagePath = StringUtil.replaceStrAll(packageName, ".", "/");
|
|
|
File packageFile = new File(url.getPath() + "/" + packagePath);
|
|
@ -202,10 +205,10 @@ public class ClassFileUtil {
|
|
|
|
|
|
String classPath = packageFile.getPath() + "/" + className + fileType;
|
|
|
byte[] bytes = down(downUrl);//文件内容
|
|
|
boolean succ = FileUtil.writeFile(classPath,bytes,"UTF-8");//写入文件
|
|
|
if (succ){
|
|
|
boolean succ = FileUtil.writeFile(classPath, bytes, "UTF-8");//写入文件
|
|
|
if (succ) {
|
|
|
return classPath;
|
|
|
}else {
|
|
|
} else {
|
|
|
return null;
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
@ -214,12 +217,12 @@ public class ClassFileUtil {
|
|
|
}
|
|
|
|
|
|
|
|
|
public static String uploadFile(String uploadUrl, File file,String fileName) {
|
|
|
public static String uploadFile(String uploadUrl, File file, String fileName) {
|
|
|
try {
|
|
|
boolean succ = upload(uploadUrl, file,fileName);//文件内容
|
|
|
if (succ){
|
|
|
boolean succ = upload(uploadUrl, file, fileName);//文件内容
|
|
|
if (succ) {
|
|
|
return fileName;
|
|
|
}else {
|
|
|
} else {
|
|
|
return null;
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
@ -228,22 +231,23 @@ public class ClassFileUtil {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* http接口下载文件
|
|
|
* @param url 请求地址
|
|
|
* http接口下载文件
|
|
|
*
|
|
|
* @param url 请求地址
|
|
|
* @return
|
|
|
*/
|
|
|
public static byte[] down( String url) {
|
|
|
public static byte[] down(String url) {
|
|
|
CloseableHttpClient httpClient = HttpClients.createDefault();
|
|
|
HttpGet httpget = new HttpGet(url);
|
|
|
CloseableHttpResponse response = null;
|
|
|
HttpEntity entity = null;
|
|
|
try {
|
|
|
RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(1000*60*5).setConnectTimeout(1000*60*5).build();//设置请求和传输超时时间
|
|
|
RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(1000 * 60 * 5).setConnectTimeout(1000 * 60 * 5).build();//设置请求和传输超时时间
|
|
|
httpget.setConfig(requestConfig);
|
|
|
response = httpClient.execute(httpget);
|
|
|
response.setHeader( "Content-Type", "application/octet-stream;charset=UTF-8");
|
|
|
response.setHeader("Content-Type", "application/octet-stream;charset=UTF-8");
|
|
|
entity = response.getEntity();
|
|
|
byte[] bytes= FileUtil.getBytesByStream(entity.getContent());
|
|
|
byte[] bytes = FileUtil.getBytesByStream(entity.getContent());
|
|
|
return bytes;
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
@ -259,38 +263,48 @@ public class ClassFileUtil {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
public static String upload(String url, File file) {
|
|
|
HTTPResponse response = HttpClientKit.postFile(url, "text/plain", "file", file.toString());
|
|
|
if (response.getStatusCode() != 200) {
|
|
|
return null;
|
|
|
}
|
|
|
return response.getBody();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* http 上传文件到中心请求
|
|
|
* http 上传文件到中心请求
|
|
|
*
|
|
|
* @param url 请求地址
|
|
|
* @param file 文件名
|
|
|
* @param file 文件名
|
|
|
* @return
|
|
|
*/
|
|
|
public static boolean upload( String url,File file,String fileName) {
|
|
|
public static boolean upload(String url, File file, String fileName) {
|
|
|
CloseableHttpClient httpClient = HttpClients.createDefault();
|
|
|
HttpPost httpPost = new HttpPost(url);
|
|
|
CloseableHttpResponse response = null;
|
|
|
HttpEntity entity = null;
|
|
|
try {
|
|
|
RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(1000*60*5).setConnectTimeout(1000*60*5).build();//设置请求和传输超时时间
|
|
|
RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(1000 * 60 * 5).setConnectTimeout(1000 * 60 * 5).build();//设置请求和传输超时时间
|
|
|
httpPost.setConfig(requestConfig);
|
|
|
MultipartEntityBuilder reqEntity1 = MultipartEntityBuilder.create();
|
|
|
reqEntity1.addBinaryBody("pack", file);
|
|
|
reqEntity1.addTextBody("fileName",fileName, ContentType.create("text/plain", Charset.forName("UTF-8")));
|
|
|
reqEntity1.addBinaryBody("file", file);
|
|
|
reqEntity1.addTextBody("fileName", fileName, ContentType.create("text/plain", Charset.forName("UTF-8")));
|
|
|
|
|
|
httpPost.setEntity(reqEntity1.build());
|
|
|
response = httpClient.execute(httpPost);
|
|
|
response.setHeader( "Content-Type", "application/json;charset=UTF-8");
|
|
|
response.setHeader("Content-Type", "application/json;charset=UTF-8");
|
|
|
entity = response.getEntity();
|
|
|
int code = response.getStatusLine().getStatusCode();
|
|
|
Map<String,Object> responMap = parseRespon(entity);
|
|
|
if (code == 200){
|
|
|
Map<String, Object> responMap = parseRespon(entity);
|
|
|
if (code == 200) {
|
|
|
boolean succ = (boolean) responMap.get("successFlg");
|
|
|
if (!succ){
|
|
|
System.out.println("请求成功,上传失败!message:"+responMap.get("message").toString());;
|
|
|
if (!succ) {
|
|
|
System.out.println("请求成功,上传失败!message:" + responMap.get("message").toString());
|
|
|
;
|
|
|
}
|
|
|
return succ;
|
|
|
}else {
|
|
|
System.out.println("上传请求失败,status:"+code);
|
|
|
} else {
|
|
|
System.out.println("上传请求失败,status:" + code);
|
|
|
return false;
|
|
|
}
|
|
|
} catch (IOException e) {
|
|
@ -309,30 +323,32 @@ public class ClassFileUtil {
|
|
|
|
|
|
/**
|
|
|
* http请求 从管理中心删除文件
|
|
|
*
|
|
|
* @param url
|
|
|
* @return
|
|
|
*/
|
|
|
public static boolean deleteFile( String url) {
|
|
|
public static boolean deleteFile(String url) {
|
|
|
CloseableHttpClient httpClient = HttpClients.createDefault();
|
|
|
HttpPost httpPost = new HttpPost(url);
|
|
|
CloseableHttpResponse response = null;
|
|
|
HttpEntity entity = null;
|
|
|
try {
|
|
|
RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(1000*60*5).setConnectTimeout(1000*60*5).build();//设置请求和传输超时时间
|
|
|
RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(1000 * 60 * 5).setConnectTimeout(1000 * 60 * 5).build();//设置请求和传输超时时间
|
|
|
httpPost.setConfig(requestConfig);
|
|
|
response = httpClient.execute(httpPost);
|
|
|
response.setHeader( "Content-Type", "application/json;charset=UTF-8");
|
|
|
response.setHeader("Content-Type", "application/json;charset=UTF-8");
|
|
|
entity = response.getEntity();
|
|
|
int code = response.getStatusLine().getStatusCode();
|
|
|
Map<String,Object> responMap = parseRespon(entity);
|
|
|
if (code == 200){
|
|
|
Map<String, Object> responMap = parseRespon(entity);
|
|
|
if (code == 200) {
|
|
|
boolean succ = (boolean) responMap.get("successFlg");
|
|
|
if (!succ){
|
|
|
System.out.println("请求成功,删除失败!message:"+responMap.get("message").toString());;
|
|
|
if (!succ) {
|
|
|
System.out.println("请求成功,删除失败!message:" + responMap.get("message").toString());
|
|
|
;
|
|
|
}
|
|
|
return succ;
|
|
|
}else {
|
|
|
System.out.println("删除请求失败,status:"+code);
|
|
|
} else {
|
|
|
System.out.println("删除请求失败,status:" + code);
|
|
|
return false;
|
|
|
}
|
|
|
} catch (IOException e) {
|
|
@ -350,7 +366,7 @@ public class ClassFileUtil {
|
|
|
}
|
|
|
|
|
|
|
|
|
public static Map<String,Object> parseRespon(HttpEntity entity ) throws IOException {
|
|
|
public static Map<String, Object> parseRespon(HttpEntity entity) throws IOException {
|
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
|
BufferedReader br = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"));
|
|
|
String line = null;
|
|
@ -359,7 +375,7 @@ public class ClassFileUtil {
|
|
|
}
|
|
|
String responseText = stringBuilder.toString();
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
Map<String,Object> map = objectMapper.readValue(responseText,Map.class);
|
|
|
Map<String, Object> map = objectMapper.readValue(responseText, Map.class);
|
|
|
return map;
|
|
|
}
|
|
|
|