要传输的JSON格式:
{"orderId":"0001","cargoReceiptNo":"iVBORw0KGgoAAAANSUhEUgAAALIAAAAYCAYAAABeDafgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABNpJREFUeNrsW0FunDAUnalyAQ7QDVHV7MkRJurkAKQ3gCMMuUAzc4RB6gEadpWqJApHGBZdNV2ETfedI9D/p8+R4xiwSUhg5C9ZEDAfYz8/v/89mR5dnU/Iqomhff/6Y2pTn2z6Ifs5ceasT3vnusDZPtjB0Bo0nU7dqOy5VVUV0OGSikcloTFPO/oZLiN//PanQpkZ1o/EMy/VBpJbPhWvY+d6rwCEqNKb/wyfst32/AkMYh9AXj+n3WOQFgvDelEP777v4hcgvqfjpue+iV6xL/owr+XvvQHylsqMWNZvYWNm7QD1hyCLuB1ln+0BewU1t8ORADmRzlPqt2JfgZwDDG0ME6FePiCNf0zl5A3YmM0noA8ezNDEh1S4r+J9zlowONOmQSM29sBAaRMDMoNRuaTyF/qPl/4lywAedFkPki6+pyK09pLP+ZpGSy7w/BJ+Q/X+7vx6HlKpqGi/g67PcH9h0TcqUNVAadbSF2ulLxZNup77RxbPuLbAsw8+pPozpb836uRCn3O/biopYqt5VwR/VZ2/oWtkHiCPABu2MFPaMAg8qBsMLteLcQxwPVQGPkEdtgzniY75pOczyImnzDO/5nsrnhQE1kABsYegJ6N6K0NZEeLdwkr4f9QvOmAiU7BBv3nSdyypGAd30P9LqR07HwD3Gr5C6R27DAXGwlZG8bvWyuQV/sJRAPn35/clJMOiAcg56tUFXpcY7ENawnZpHiorLP2xyl53pxcZFTExCj7nazXvZj/sN27SeATSBG1YA7xy5L6VJo6JqWDI6N3suzDQyuuGoCqwaENd3WWL7OkieQLTZMDQN0R27EmsHGiCPF/DRuqH8sDFCMJUnZY3sXlbuyxzn2cS+00gJfgbzgjoW0N28jRAyZSjVkeDvQJFuvEEExPaJtgq8D26laqEvxNNm7qk2ArJ36oJ5Ae/5l9242rsmuvfnL7KrgWxbUagFUFfrIC0pPt5C3sVLRFx1+xCaRXczK9LAm+8WxKv51u0P6HrNgBSGa2Uvi0Tk0QMMuthsLWO2dRNiFTWqm3BrCLd5FXiWCKN3NRng50o/mZ1LC0YubIoXeo/l5UjBHcTpORmBmzqWzJNv5H6f72cAsS5qS5uyFZkErh08iKqY6+uO2mG6cc+/W3HlrXQReWRaZAH8wb4LcFDmuyxXm6TFbrc8UKJ8IMX0KSjtcEDWQr6ZCBndL1t9peWQUyvRsAVkf6xFHx1ZWMTk3PKpTIxFhr97YD8CsbLsE+yQvzQxGRZzoVWfGvW5nwyJEUMXcx6ObTIH3fdeg6loOlRhgHpMs75RjbpNwfk57FyDlbhgSno78IQ/Ls0V01eddYCEO+FQOyDfVPoZNbLOaL+J/llTTtDTVtWeF4taqaAN3w8aOJSky67RduCsQP5YERtTdH5RoEKB0A0iJwmYhbn3ScxmB6CxQCsHdakfcKjq/MSdZO704uyY7tFLjtRgr8V7+whk3HckIbTZSuSBi0dath8hZTZbc0ELcYO5jH9sD5D1JpZRL0ZNKnQ2GsceeAOG7IasaRj/a7sTAAVz8c1QD2D78saYHoaYOZNk1fDvCHuFegLeUtfTLCTychtKra0bZ6Z3Jza1f90NXHmzDGyM2cOyM4ckJ05G1nWwva3E+4/RJ0Nyv4JMAD4YPGJjdAeMAAAAABJRU5ErkJggg==","cargoReceiptLineNo":"000009_01"}
后台代码:
@RequestMapping(value = {"/photoJson"})
@ResponseBodypublicPhysicalIdCheckDto testPhotoJson(@RequestBody PhysicalIdCheckDto physicalIdCheckDto) {
String imgStr=physicalIdCheckDto.getCargoReceiptNo();
BASE64Decoder decoder= newBASE64Decoder();try{byte[] b =decoder.decodeBuffer(imgStr);for (int i = 0; i < b.length; ++i) {if (b[i] < 0) {
b[i]+= 256;
}
}
OutputStream out= new FileOutputStream("E:\\img\\logo.jpg");
out.write(b);
out.flush();
out.close();
}catch(Exception e) {
e.printStackTrace();
}
System.out.println("输出JSON:"+physicalIdCheckDto);returnphysicalIdCheckDto;
}
base64转图片
/*** @Description: 将base64编码字符串转换为图片
* @Author:
* @CreateTime:
*@paramimgStr base64编码字符串
*@parampath 图片路径-具体到文件
*@return
*/
public static booleangenerateImage(String imgStr, String path) {if (imgStr == null)return false;
BASE64Decoder decoder= newBASE64Decoder();try{//解密
byte[] b =decoder.decodeBuffer(imgStr);//处理数据
for (int i = 0; i < b.length; ++i) {if (b[i] < 0) {
b[i]+= 256;
}
}
OutputStream out= newFileOutputStream(path);
out.write(b);
out.flush();
out.close();return true;
}catch(Exception e) {return false;
}
}
图片转base64
/*** @Description: 根据图片地址转换为base64编码字符串
* @Author:
* @CreateTime:
*@return
*/
public staticString getImageStr(String imgFile) {
InputStream inputStream= null;byte[] data = null;try{
inputStream= newFileInputStream(imgFile);
data= new byte[inputStream.available()];
inputStream.read(data);
inputStream.close();
}catch(IOException e) {
e.printStackTrace();
}//加密
BASE64Encoder encoder = newBASE64Encoder();returnencoder.encode(data);
}
测试:
/*** 示例*/
public static voidmain(String[] args) {
String strImg= getImageStr("F:/86619-106.jpg");
System.out.println(strImg);
generateImage(strImg,"F:/86619-107.jpg");
}