要传输的JSON格式:

  1. {
  2. "orderId":"0001",
  3. "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==",
  4. "cargoReceiptLineNo":"000009_01"
  5. }

后台代码:

  1. @RequestMapping(value = {"/photoJson"})
  2. @ResponseBody
  3. public PhysicalIdCheckDto testPhotoJson(@RequestBody PhysicalIdCheckDto physicalIdCheckDto) {
  4. String imgStr = physicalIdCheckDto.getCargoReceiptNo();
  5.  
  6. BASE64Decoder decoder = new BASE64Decoder();
  7. try {
  8. byte[] b = decoder.decodeBuffer(imgStr);
  9. for (int i = 0; i < b.length; ++i) {
  10. if (b[i] < 0) {
  11. b[i] += 256;
  12. }
  13. }
  14. OutputStream out = new FileOutputStream("E:\\img\\logo.jpg");
  15. out.write(b);
  16. out.flush();
  17. out.close();
  18. } catch (Exception e) {
  19. e.printStackTrace();
  20. }
  21. System.out.println("输出JSON:"+physicalIdCheckDto);
  22. return physicalIdCheckDto;
  23. }

base64转图片

  1. /**
  2. * @Description: 将base64编码字符串转换为图片
  3. * @Author:
  4. * @CreateTime:
  5. * @param imgStr base64编码字符串
  6. * @param path 图片路径-具体到文件
  7. * @return
  8. */
  9. public static boolean generateImage(String imgStr, String path) {
  10.   if (imgStr == null)
  11.     return false;
  12.   BASE64Decoder decoder = new BASE64Decoder();
  13.   try {
  14.     // 解密
  15.     byte[] b = decoder.decodeBuffer(imgStr);
  16.     // 处理数据
  17.     for (int i = 0; i < b.length; ++i) {
  18.       if (b[i] < 0) {
  19.         b[i] += 256;
  20.       }
  21.     }
  22.     OutputStream out = new FileOutputStream(path);
  23.     out.write(b);
  24.     out.flush();
  25.     out.close();
  26.     return true;
  27.   } catch (Exception e) {
  28.     return false;
  29.   }
  30. }

图片转base64

  1. /**
  2. * @Description: 根据图片地址转换为base64编码字符串
  3. * @Author:
  4. * @CreateTime:
  5. * @return
  6. */
  7. public static String getImageStr(String imgFile) {
  8. InputStream inputStream = null;
  9. byte[] data = null;
  10. try {
  11. inputStream = new FileInputStream(imgFile);
  12. data = new byte[inputStream.available()];
  13. inputStream.read(data);
  14. inputStream.close();
  15. } catch (IOException e) {
  16. e.printStackTrace();
  17. }
  18. // 加密
  19. BASE64Encoder encoder = new BASE64Encoder();
  20. return encoder.encode(data);
  21. }

测试:

  1. /**
  2. * 示例
  3. */
  4. public static void main(String[] args) {
  5. String strImg = getImageStr("F:/86619-106.jpg");
  6. System.out.println(strImg);
  7. generateImage(strImg, "F:/86619-107.jpg");
  8. }

图片转base64使用JSON传输的更多相关文章

  1. json序列化.xml序列化.图片转base64.base64转图片.生成缩略图.IEnumerable<TResult> Select<TSource, TResult>做数据转换的五种方式

     JSON序列化 /// <summary> /// JSON序列化 /// </summary> public static class SPDBJsonConvert { ...

  2. 【PHP】图片转换为base64,经过post传输后‘+’会变成 ‘空格’

    图片转换为base64,经过post传输后‘+’会变成 ‘空格’, 需要用PHP 处理一下 $str= $_POST['img_data']; $str= str_replace(' ','+',$s ...

  3. jquery 图片转为base64

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  4. 关于图片的Base64编码

    什么是Base64编码 Base64编码是一种图片处理格式,通过特定的算法将图片编码成一长串字符串,在页面上显示的时候,可以用该字符串来代替图片的url属性. base64编码就是长得像下面这样子的代 ...

  5. 图片的Base64编码

    Base64编码是一种图片处理格式,通过特定的算法将图片编码成一长串字符串,在页面上显示的时候,可以用该字符串来代替图片的url属性. 我们可以来看一下实际的效果 Base64编码效果 在上图中,我们 ...

  6. json传输二进制的方案【转】

    本文转自:http://wiyi.org/binary-to-string.html json 是一种很简洁的协议,但可惜的是,它只能传递基本的数型(int,long,string等),但不能传递by ...

  7. js小工具---本地图片转换为base64编码数据

    今天用jmeter对图片对比进行性能测试,post请求为json请求,图片为Base64编码后的图片数据.所以需要将一张本地图片生成base64编码,找到一个js小工具,记录在这儿便于以后复用. 效果 ...

  8. HTML5 JS 压缩图片,并取得图片的BASE64编码上传

    基本过程 1) 调用 FileReader 的 reader.readAsDataURL(img); 方法, 在其onload事件中, 将用户选择的图片读入 Image对象. 2) 在image对象的 ...

  9. 用javascript实现base64编码器以及图片的base64编码

    前面的话 base-64作为常见的编码函数,在基本认证.摘要认证以及一些HTTP扩展中得到了大量应用.在前端领域,也常常把图片转换为base-64编码在网络中传输.本文将详细介绍base64的原理及用 ...

随机推荐

  1. sublime3配置php开发环境

    Sublime3 3143 1.用包管理器安装SublimeLinter ctrl+shift+p Package Control: install package SublimeLinter 注意: ...

  2. echarts 饼图-->如何修改legend模板?

    首先需要在初始化图表的方法中过滤一下数据 ,将你需要的 名称  所占百分比 所占数量  筛选出来 let dataFilter = [ { value: 20, name: "未知" ...

  3. bat默认以管理员身份运行

    在Bat文件内容前插入以下一段代码: @echo off :: BatchGotAdmin :------------------------------------- REM --> Chec ...

  4. javascrpt的string和Boolean类型

    string类型用于表示由零或多个16位unicode字符组成字符序列,即 字符串,字符可以由双引号(“)或单引号(‘)表示 tostring()与 string() 语法:str.tostring( ...

  5. 【2019CSP-S游记】咕了好久了撒

    对,证书已经发下来了,我才想起来写游记(虽然我个蒟蒻明明就是在写反思) 终于和父母商议好了以后怎么办,顺带找了一下班主任,在机房的电脑敲出来的(我来找教练,然后完全没找着,淦) 79分,众所周知CCF ...

  6. jquery html select 清空保留第一项

    <select id="a"> <option>1</option> <option>2</option> <op ...

  7. Django 前端通过json 取出后端数据

    Django 前端通过json 取出后端数据 前端通过json 取出后端数据 步骤1:后台数据通过 JSON 序列化成字符串a 注意:1.json是1个字符串 ​ 2.通过json.dumps('xx ...

  8. ALS部署Spark集群入坑记

    [Stage 236:> (0 + 0) / 400]17/12/04 09:45:55 ERROR yarn.ApplicationMaster: User class threw excep ...

  9. Codeforces - 1203D2 - Remove the Substring (hard version) - 双指针

    https://codeforces.com/contest/1203/problem/D2 上次学了双指针求两个字符串之间的是否t是s的子序列.但其实这个双指针可以求出的是s的前i个位置中匹配t的最 ...

  10. appium+python自动化项目实战(二):项目工程结构

    废话不多说,直接上图: nose.cfg配置文件里,可以指定执行的测试用例.生成测试报告等.以后将详细介绍.