From ab530c7dfaf490ff388c738d290752e0a5c983af Mon Sep 17 00:00:00 2001 From: shiyang <316555390@qq.com> Date: Fri, 6 May 2022 10:30:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86=E6=9C=AC=E5=9C=B0=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E6=88=90Base64=E7=BC=96=E7=A0=81=E5=AD=97?= =?UTF-8?q?=E7=AC=A6=E4=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/controller/TestController.java | 66 +++++++++++++++++++++- 1 file changed, 63 insertions(+), 3 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java index 4bfd17f..e02f0e3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java @@ -51,13 +51,14 @@ import org.springframework.data.mongodb.core.query.Update; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import sun.misc.BASE64Encoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; -import java.io.File; -import java.io.IOException; -import java.io.Serializable; +import java.io.*; +import java.net.HttpURLConnection; +import java.net.URL; import java.util.*; import java.util.regex.Pattern; @@ -5144,4 +5145,63 @@ public class TestController extends BaseController { public BaseObjectResponse syncBabyArchivesAddress(@RequestParam(required = false) String hospitalId) { return babySieveFacede.syncBabyArchivesAddress(hospitalId); } + + /** + * 将本地图片转换成Base64编码字符串 + * @return imgUrl + */ + @RequestMapping(method = RequestMethod.GET, value = "/convertBase64") + @ResponseBody + public String convertBase64(String imgUrl) { + URL url = null; + InputStream is = null; + ByteArrayOutputStream outStream = null; + HttpURLConnection httpUrl = null; + try{ + url = new URL(imgUrl); + httpUrl = (HttpURLConnection) url.openConnection(); + httpUrl.connect(); + httpUrl.getInputStream(); + is = httpUrl.getInputStream(); + + outStream = new ByteArrayOutputStream(); + //创建一个Buffer字符串 + byte[] buffer = new byte[1024]; + //每次读取的字符串长度,如果为-1,代表全部读取完毕 + int len = 0; + //使用一个输入流从buffer里把数据读取出来 + while( (len=is.read(buffer)) != -1 ){ + //用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度 + outStream.write(buffer, 0, len); + } + // 对字节数组Base64编码 + return new BASE64Encoder().encode(outStream.toByteArray()); + }catch (Exception e) { + e.printStackTrace(); + } + finally{ + if(is != null) + { + try { + is.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if(outStream != null) + { + try { + outStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if(httpUrl != null) + { + httpUrl.disconnect(); + } + } + return imgUrl; + + } } -- 1.8.3.1