JSON传输图片帮助类

简介: JSON传输图片帮助类   2014-05-27 16:11:22|  分类: Java |  标签:解决方案  java  json  |举报|字号 订阅     原理:将图片转换为字节流,再将字节流用base64编码,将编码后的字符串封装到Json串中传输;   *注:sun.

JSON传输图片帮助类  

2014-05-27 16:11:22|  分类: Java |  标签:解决方案  java  json  |举报|字号 订阅

 
 
原理:将图片转换为字节流,再将字节流用base64编码,将编码后的字符串封装到Json串中传输;
 
*注:sun.misc.BASE64Decoder、sun.misc.BASE64Encoder是JDK自带的类,将MyEclipse的自带JDK换成自己本地JDK即可;
 
代码:
 
package com.inlz;
 
import java.io.FileInputStream;
import java.io.IOException;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
 
 
/**
 * Description:用此类将图片转换为字符串,以便将图片封装为JSON进行传输
 * @author 河伯
 * @Date 2014-05-27
 * @version 1.0
 * */
public class ImgHelper {
    
    /**
     * TODO:将byte数组以Base64方式编码为字符串
     * @param bytes 待编码的byte数组
     * @return 编码后的字符串
     * */
    public static String encode(byte[] bytes){
        return new BASE64Encoder().encode(bytes);
    }
    
    /**
     * TODO:将以Base64方式编码的字符串解码为byte数组
     * @param encodeStr 待解码的字符串
     * @return 解码后的byte数组
     * @throws IOException 
     * */
    public static byte[] decode(String encodeStr) throws IOException{
        byte[] bt = null;  
        BASE64Decoder decoder = new BASE64Decoder();  
        bt = decoder.decodeBuffer(encodeStr);
        return bt;
    }
    
    /**
     * TODO:将两个byte数组连接起来后,返回连接后的Byte数组
     * @param front 拼接后在前面的数组
     * @param after 拼接后在后面的数组
     * @return 拼接后的数组
     * */
    public static byte[] connectBytes(byte[] front, byte[] after){
        byte[] result = new byte[front.length + after.length];
        System.arraycopy(front, 0, result, 0, after.length);
        System.arraycopy(after, 0, result, front.length, after.length);
        return result;
    }
    
    /**
     * TODO:将图片以Base64方式编码为字符串
     * @param imgUrl 图片的绝对路径(例如:D:\\jsontest\\abc.jpg)
     * @return 编码后的字符串
     * @throws IOException 
     * */
    public static String encodeImage(String imgUrl) throws IOException{
        FileInputStream fis = new FileInputStream(imgUrl);
        byte[] rs = new byte[fis.available()];
        fis.read(rs);
        fis.close();
        return encode(rs);
    }
    
    /**
     * @param args
     */
    public static void main(String[] args) {
        String str;
        try {
            str = encodeImage("D:\\MMS_TEST\\attachment_jpg.jpg");
            System.out.println(str);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
 
}
目录
相关文章
|
10月前
|
JSON 前端开发 Java
使用ajax往后台传输json数据SpringMVC的RequestBody自动转换 前端控制器报400错误
使用ajax往后台传输json数据SpringMVC的RequestBody自动转换 前端控制器报400错误
|
12月前
|
消息中间件 JSON JavaScript
Spring Boot + Filter 实现 Gzip 压缩超大 json 对象,传输耗时大大减少
Spring Boot + Filter 实现 Gzip 压缩超大 json 对象,传输耗时大大减少
|
JSON Java Maven
后端 传输 json 数据(导包错误)
后端 传输 json 数据(导包错误)
112 0
|
JSON Java API
基于Qt的音乐播放器(三)通过酷狗音乐的api接口,返回json格式歌曲信息(播放地址,歌词,图片)
基于Qt的音乐播放器(三)通过酷狗音乐的api接口,返回json格式歌曲信息(播放地址,歌词,图片)
基于Qt的音乐播放器(三)通过酷狗音乐的api接口,返回json格式歌曲信息(播放地址,歌词,图片)
|
XML 存储 JSON
JSON Web Token (JWT),服务端信息传输安全解决方案。
JWT介绍 JSON Web Token(JWT)是一种开放标准(RFC 7519),它定义了一种紧凑独立的基于JSON对象在各方之间安全地传输信息的方式。这些信息可以被验证和信任,因为它是数字签名的。JWTs可以使用一个密钥(HMAC算法),或使用RSA的公钥/私钥密钥对对信息进行签名。 让我们进一步解释这个定义的一些概念。
561 0
JSON Web Token (JWT),服务端信息传输安全解决方案。
|
JSON 前端开发 JavaScript
Python Flask 简明教程(12)--Flask获取Ajax传输的JSON数据
本文目录 1. 前言 2. 创建项目结构 3. 发起Ajax请求 4. 编写app.py 5. 接收JSON数据 6. 测试 7. 小结
2023 0
|
Web App开发 JSON Java
Springboot+ajax传输json数组以及单条数据的方法
Springboot+ajax传输json数组以及单条数据的方法 下面是用ajax传输到后台单条以及多条数据的解析的Demo: 结构图如下: image 下面是相关的代码: pom.
2160 0
|
Web App开发 算法 安全
JSON Web Token (JWT),服务端信息传输安全解决方案。
image JWT介绍 JSON Web Token(JWT)是一种开放标准(RFC 7519),它定义了一种紧凑独立的基于JSON对象在各方之间安全地传输信息的方式。
1237 0
|
JSON 数据格式 计算机视觉
用 opencv和numpy进行图片和字符串互转,并保存至 json
用 opencv和numpy进行图片和字符串互转,并保存至 json 转至 https://zhuanlan.zhihu.com/p/27349847 受 用 base64 进行图片和字符串互转,并保存至 json 作者启发,试了试使用opencv来读取图片,然后用numpy转为list,再转为json格式。
1690 0