要传输的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"})
@ResponseBody
public PhysicalIdCheckDto testPhotoJson(@RequestBody PhysicalIdCheckDto physicalIdCheckDto) {
String imgStr = physicalIdCheckDto.getCargoReceiptNo(); BASE64Decoder decoder = new BASE64Decoder();
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);
return physicalIdCheckDto;
}

base64转图片

/**
* @Description: 将base64编码字符串转换为图片
* @Author:
* @CreateTime:
* @param imgStr base64编码字符串
* @param path 图片路径-具体到文件
* @return
*/
public static boolean generateImage(String imgStr, String path) {
  if (imgStr == null)
    return false;
  BASE64Decoder decoder = new BASE64Decoder();
  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(path);
    out.write(b);
    out.flush();
    out.close();
    return true;
  } catch (Exception e) {
    return false;
  }
}

图片转base64

/**
* @Description: 根据图片地址转换为base64编码字符串
* @Author:
* @CreateTime:
* @return
*/
public static String getImageStr(String imgFile) {
InputStream inputStream = null;
byte[] data = null;
try {
inputStream = new FileInputStream(imgFile);
data = new byte[inputStream.available()];
inputStream.read(data);
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
// 加密
BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(data);
}

测试:

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

图片转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. jenkins自动化部署工具

    jenkins自动化测试 & 持续集成 知识点: 1.下载地址:jenkins.io download:

  2. json得回顾

  3. HDU 1263 水果 (STL map)

    水果 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...

  4. 2018icpc宁夏邀请赛网络赛_G_Trouble of Tyrant

    题意 一列\(n\)个点,给定一个特殊的图,有两种边\(E(1,i)\)和\(E(i-1,i)\),多个询问,每次给一个\(d\),求所有路径长度加上\(d\)后1到\(n\)的最短路. 分析 首先这 ...

  5. mysql数据库常见错误代码列表

    mysql出错代码列表1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件导致删除数据库失败 1 ...

  6. java.lang.StackOverflowError解决

    在使用JPA的仓储repository进行查询时,经常用到findAllbyId的方法: repository.findAllbyId() 但如果像下面的代码,当list的size量太大的话,就会报栈 ...

  7. IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(Application.StartupPath + "\\temp", 0); 报:异常来自 HRESULT:0x80040228

    原因:未添加License. 解决办法:在窗体中添加LicenseControl即可.如下图,License图标运行时不会显示.

  8. 06.AutoMapper 之内联映射(Inline Mapping)

    https://www.jianshu.com/p/623655d7cb34 内联映射(Inline Mapping) AutoMapper在 6.2 以上版本将动态创建类型映射. 当第一次调用Map ...

  9. qt QAbstractItemModel一些方法介绍

    一. virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::Edit ...

  10. c#EntityFrameworkcodeFirst模式

    一.首先定义数据类 [DataContract(Namespace="http://www.cninnovation.com/Services/2012")]  public cl ...