From 80ea9d9c1b4474fb3d14622c945c3ddceb860218 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 24 四月 2025 14:17:40 +0800 Subject: [PATCH] 代码初始化 --- server/src/main/java/com/doumee/core/utils/HttpsUtil.java | 99 ++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 76 insertions(+), 23 deletions(-) diff --git a/server/src/main/java/com/doumee/core/utils/HttpsUtil.java b/server/src/main/java/com/doumee/core/utils/HttpsUtil.java index 2692602..e4688de 100644 --- a/server/src/main/java/com/doumee/core/utils/HttpsUtil.java +++ b/server/src/main/java/com/doumee/core/utils/HttpsUtil.java @@ -1,9 +1,7 @@ package com.doumee.core.utils; import javax.net.ssl.*; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.io.OutputStream; +import java.io.*; import java.net.HttpURLConnection; import java.net.URL; import java.security.KeyManagementException; @@ -28,7 +26,80 @@ return connectionHttp(url, "POST", data, "application/json"); } } + public static String uploadTempMedia(String urlString ,String fileUrl){ + HttpsURLConnection conn= null; + try { + String fileName = fileUrl.substring(fileUrl.lastIndexOf("/") + 1); + // 鑾峰彇缃戠粶鍥剧墖 + URL mediaUrl = new URL(fileUrl); + HttpURLConnection meidaConn = (HttpURLConnection) mediaUrl.openConnection(); + meidaConn.setDoOutput(true); + meidaConn.setRequestMethod("GET"); + String result = null; + URL url=new URL(urlString); + conn=(HttpsURLConnection) url.openConnection(); + conn.setRequestMethod("POST");//浠OST鏂瑰紡鎻愪氦琛ㄥ崟 + conn.setDoInput(true); + conn.setDoOutput(true); + conn.setUseCaches(false);//POST鏂瑰紡涓嶈兘浣跨敤缂撳瓨 + //璁剧疆璇锋眰澶翠俊鎭� + conn.setRequestProperty("Connection", "Keep-Alive"); + conn.setRequestProperty("Charset", "UTF-8"); + //璁剧疆杈圭晫 + String BOUNDARY="----------"+System.currentTimeMillis(); + conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + BOUNDARY); + //璇锋眰姝f枃淇℃伅 + //绗竴閮ㄥ垎 + StringBuilder sb=new StringBuilder(); + sb.append("--");//蹇呴』澶氫袱鏉¢亾 + sb.append(BOUNDARY); + sb.append("\r\n"); + sb.append("Content-Disposition: form-data;name=\"media\"; filename=\"" + fileName+"\"\r\n"); + + sb.append("Content-Type:application/octet-stream\r\n\r\n"); + System.out.println("sb:"+sb); + + //鑾峰緱杈撳嚭娴� + OutputStream out=new DataOutputStream(conn.getOutputStream()); + //杈撳嚭琛ㄥご + out.write(sb.toString().getBytes("UTF-8")); + //鏂囦欢姝f枃閮ㄥ垎 + //鎶婃枃浠朵互娴佺殑鏂瑰紡 鎺ㄩ�侀亾URL涓� + DataInputStream din=new DataInputStream(meidaConn.getInputStream()); + int bytes=0; + byte[] buffer=new byte[1024]; + while((bytes=din.read(buffer))!=-1){ + out.write(buffer,0,bytes); + } + din.close(); + //缁撳熬閮ㄥ垎 + byte[] foot=("\r\n--" + BOUNDARY + "--\r\n").getBytes("UTF-8");//瀹氫箟鏁版嵁鏈�鍚庡垎鍓茬嚎 + out.write(foot); + out.flush(); + out.close(); + if(HttpsURLConnection.HTTP_OK==conn.getResponseCode()){ + InputStream is = conn.getInputStream(); + byte[] b = new byte[4096]; + ByteArrayOutputStream baos = new ByteArrayOutputStream(b.length); + int len; + while ((len = is.read(b)) != -1) { + baos.write(b, 0, len); + } + is.close(); + return baos.toString("utf-8"); + } + return result; + } catch (Exception e) { + e.printStackTrace(); + } finally { + if(conn != null){ + conn.disconnect(); + } + } + return null; + + } public static String connection(String url,String method,String data,String contentType,boolean ignoreSSL){ HttpsURLConnection connection = null; try { @@ -92,29 +163,11 @@ try { URL _url = new URL(url); connection = (HttpURLConnection) _url.openConnection(); - connection.setRequestMethod(method); connection.setDoOutput(true); - connection.setDoInput(true); - connection.setUseCaches(false); - if(contentType != null){ - connection.setRequestProperty("Content-Type", contentType); - } - connection.connect(); - if(data != null){ - OutputStream outputStream = connection.getOutputStream(); - outputStream.write(data.getBytes("utf-8")); - outputStream.close(); - } - int responseCode = connection.getResponseCode(); - if (responseCode == HttpsURLConnection.HTTP_OK) { - return connection.getInputStream(); - } + connection.setRequestMethod("GET"); + return connection.getInputStream(); } catch (Exception e) { e.printStackTrace(); - } finally { - if(connection != null){ - connection.disconnect(); - } } return null; } -- Gitblit v1.9.3