Browse Source

分段绝缘器下载修改

wuhonghao 4 years ago
parent
commit
dfa8c0c58b

+ 4 - 5
railway-admin/src/main/java/com/railway/web/controller/business/catenary/BusJcbFdfxjyqController.java

@@ -13,6 +13,7 @@ import com.railway.common.utils.DateUtils;
 import com.railway.common.utils.SecurityUtils;
 import com.railway.common.utils.StringUtils;
 import com.railway.common.utils.file.BASE64DecodedMultipartFile;
+import com.railway.common.utils.http.HttpUtils;
 import com.railway.common.utils.poi.WordUtils;
 import com.railway.common.enums.PostTypeEnum;
 import com.railway.system.service.ISysFileService;
@@ -20,6 +21,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
+import java.io.InputStream;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -188,11 +190,8 @@ public class BusJcbFdfxjyqController extends BaseController {
         header.put("width", 450);
         header.put("height", 110);
         header.put("type", "jpg");
-        try {
-            header.put("content", WordUtils.inputStream2ByteArray(new FileInputStream(filePath+"/fdjyq-20211016.png"), true));
-        } catch (FileNotFoundException e) {
-            e.printStackTrace();
-        }
+        InputStream inputStream = HttpUtils.sendSSLPostStream(info.getPicUrl(), "");
+        header.put("content", WordUtils.inputStream2ByteArray(inputStream, true));
         params.put("${header}",header);
 
 

+ 45 - 6
railway-common/src/main/java/com/railway/common/utils/http/HttpUtils.java

@@ -58,7 +58,7 @@ public class HttpUtils {
       connection.setRequestProperty("accept", "*/*");
       connection.setRequestProperty("connection", "Keep-Alive");
       connection.setRequestProperty("user-agent",
-          "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+              "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
       connection.connect();
       in = new BufferedReader(new InputStreamReader(connection.getInputStream(), contentType));
       String line;
@@ -104,7 +104,7 @@ public class HttpUtils {
       conn.setRequestProperty("accept", "*/*");
       conn.setRequestProperty("connection", "Keep-Alive");
       conn.setRequestProperty("user-agent",
-          "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+              "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
       conn.setRequestProperty("Accept-Charset", "utf-8");
       conn.setRequestProperty("contentType", "utf-8");
       conn.setDoOutput(true);
@@ -148,13 +148,13 @@ public class HttpUtils {
       log.info("sendSSLPost - {}", urlNameString);
       SSLContext sc = SSLContext.getInstance("SSL");
       sc.init(null, new TrustManager[]{new TrustAnyTrustManager()},
-          new java.security.SecureRandom());
+              new java.security.SecureRandom());
       URL console = new URL(urlNameString);
       HttpsURLConnection conn = (HttpsURLConnection) console.openConnection();
       conn.setRequestProperty("accept", "*/*");
       conn.setRequestProperty("connection", "Keep-Alive");
       conn.setRequestProperty("user-agent",
-          "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+              "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
       conn.setRequestProperty("Accept-Charset", "utf-8");
       conn.setRequestProperty("contentType", "utf-8");
       conn.setDoOutput(true);
@@ -169,7 +169,7 @@ public class HttpUtils {
       while ((ret = br.readLine()) != null) {
         if (!"".equals(ret.trim())) {
           result.append(new String(ret.getBytes(StandardCharsets.ISO_8859_1),
-              StandardCharsets.UTF_8));
+                  StandardCharsets.UTF_8));
         }
       }
       log.info("recv - {}", result);
@@ -179,7 +179,7 @@ public class HttpUtils {
       log.error("调用HttpUtils.sendSSLPost ConnectException, url=" + url + ",param=" + param, e);
     } catch (SocketTimeoutException e) {
       log.error("调用HttpUtils.sendSSLPost SocketTimeoutException, url=" + url + ",param=" + param,
-          e);
+              e);
     } catch (IOException e) {
       log.error("调用HttpUtils.sendSSLPost IOException, url=" + url + ",param=" + param, e);
     } catch (Exception e) {
@@ -188,6 +188,45 @@ public class HttpUtils {
     return result.toString();
   }
 
+  public static InputStream sendSSLPostStream(String url, String param) {
+    StringBuilder result = new StringBuilder();
+    String urlNameString = url + "?" + param;
+    try {
+      log.info("sendSSLPost - {}", urlNameString);
+      SSLContext sc = SSLContext.getInstance("SSL");
+      sc.init(null, new TrustManager[]{new TrustAnyTrustManager()},
+              new java.security.SecureRandom());
+      URL console = new URL(urlNameString);
+      HttpsURLConnection conn = (HttpsURLConnection) console.openConnection();
+      conn.setRequestProperty("accept", "*/*");
+      conn.setRequestProperty("connection", "Keep-Alive");
+      conn.setRequestProperty("user-agent",
+              "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+      conn.setRequestProperty("Accept-Charset", "utf-8");
+      conn.setRequestProperty("contentType", "utf-8");
+      conn.setDoOutput(true);
+      conn.setDoInput(true);
+
+      conn.setSSLSocketFactory(sc.getSocketFactory());
+      conn.setHostnameVerifier(new TrustAnyHostnameVerifier());
+      conn.connect();
+      InputStream is = conn.getInputStream();
+
+      conn.disconnect();
+      return is;
+    } catch (ConnectException e) {
+      log.error("调用HttpUtils.sendSSLPost ConnectException, url=" + url + ",param=" + param, e);
+    } catch (SocketTimeoutException e) {
+      log.error("调用HttpUtils.sendSSLPost SocketTimeoutException, url=" + url + ",param=" + param,
+              e);
+    } catch (IOException e) {
+      log.error("调用HttpUtils.sendSSLPost IOException, url=" + url + ",param=" + param, e);
+    } catch (Exception e) {
+      log.error("调用HttpsUtil.sendSSLPost Exception, url=" + url + ",param=" + param, e);
+    }
+    return null;
+  }
+
   private static class TrustAnyTrustManager implements X509TrustManager {
 
     @Override