Commit ab530c7dfaf490ff388c738d290752e0a5c983af

Authored by shiyang
1 parent d3a3fa7ad4

将本地图片转换成Base64编码字符串

Showing 1 changed file with 63 additions and 3 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java View file @ ab530c7
... ... @@ -51,13 +51,14 @@
51 51 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
52 52 import org.springframework.stereotype.Controller;
53 53 import org.springframework.web.bind.annotation.*;
  54 +import sun.misc.BASE64Encoder;
54 55  
55 56 import javax.servlet.http.HttpServletRequest;
56 57 import javax.servlet.http.HttpServletResponse;
57 58 import javax.validation.Valid;
58   -import java.io.File;
59   -import java.io.IOException;
60   -import java.io.Serializable;
  59 +import java.io.*;
  60 +import java.net.HttpURLConnection;
  61 +import java.net.URL;
61 62 import java.util.*;
62 63 import java.util.regex.Pattern;
63 64  
... ... @@ -5143,6 +5144,65 @@
5143 5144 @TokenRequired
5144 5145 public BaseObjectResponse syncBabyArchivesAddress(@RequestParam(required = false) String hospitalId) {
5145 5146 return babySieveFacede.syncBabyArchivesAddress(hospitalId);
  5147 + }
  5148 +
  5149 + /**
  5150 + * 将本地图片转换成Base64编码字符串
  5151 + * @return imgUrl
  5152 + */
  5153 + @RequestMapping(method = RequestMethod.GET, value = "/convertBase64")
  5154 + @ResponseBody
  5155 + public String convertBase64(String imgUrl) {
  5156 + URL url = null;
  5157 + InputStream is = null;
  5158 + ByteArrayOutputStream outStream = null;
  5159 + HttpURLConnection httpUrl = null;
  5160 + try{
  5161 + url = new URL(imgUrl);
  5162 + httpUrl = (HttpURLConnection) url.openConnection();
  5163 + httpUrl.connect();
  5164 + httpUrl.getInputStream();
  5165 + is = httpUrl.getInputStream();
  5166 +
  5167 + outStream = new ByteArrayOutputStream();
  5168 + //创建一个Buffer字符串
  5169 + byte[] buffer = new byte[1024];
  5170 + //每次读取的字符串长度,如果为-1,代表全部读取完毕
  5171 + int len = 0;
  5172 + //使用一个输入流从buffer里把数据读取出来
  5173 + while( (len=is.read(buffer)) != -1 ){
  5174 + //用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度
  5175 + outStream.write(buffer, 0, len);
  5176 + }
  5177 + // 对字节数组Base64编码
  5178 + return new BASE64Encoder().encode(outStream.toByteArray());
  5179 + }catch (Exception e) {
  5180 + e.printStackTrace();
  5181 + }
  5182 + finally{
  5183 + if(is != null)
  5184 + {
  5185 + try {
  5186 + is.close();
  5187 + } catch (IOException e) {
  5188 + e.printStackTrace();
  5189 + }
  5190 + }
  5191 + if(outStream != null)
  5192 + {
  5193 + try {
  5194 + outStream.close();
  5195 + } catch (IOException e) {
  5196 + e.printStackTrace();
  5197 + }
  5198 + }
  5199 + if(httpUrl != null)
  5200 + {
  5201 + httpUrl.disconnect();
  5202 + }
  5203 + }
  5204 + return imgUrl;
  5205 +
5146 5206 }
5147 5207 }