• base64 图片读取 开发记录


    自己写的方式最后结果,新生成图片打开失败,提示图片错误

    try {
        File file = new File("D:\chengdu.jpg");
        FileInputStream in = new FileInputStream(file);
        FileOutputStream out = new FileOutputStream("D:\ceshi.jpg");
        byte[] bytes = new byte[1024];
        int len = -1;
        while((len = in.read(bytes)) != -1) {
    //                out.write(bytes, 0, len);
        }
        String cont = EncodeUtils.base64Encode(bytes);
        System.out.println(cont);
        System.out.println(Arrays.toString(bytes));
        
        byte[] ob = EncodeUtils.base64Decode(cont);
        System.out.println(EncodeUtils.base64Encode(ob));
        System.out.println(Arrays.toString(ob));
        
        out.write(ob);
        
        in.close();
        out.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    查找资料,换成另一种方式,新生成图片成功

    byte[] data = null;
    FileInputStream is = null;
    try {
        is = new FileInputStream(new File("D:\chengdu.jpg"));
        data = new byte[is.available()];
        is.read(data);
        base64Image = new String(Base64.encode(data));
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (null != is) {
            try {
                is.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    File file1=new File("D:\ceshi.jpg");
    byte[] decoByte=Base64.decode(base64Image);
    for (int i = 0; i < decoByte.length; ++i) {
           if (decoByte[i] < 0) {
               decoByte[i] += 256;
           }
    }
    try {
        FileUtils.writeByteArrayToFile(file1, decoByte);
    } catch (IOException e) {
        e.printStackTrace();
    }

    具体原因待业余时间探索,特此记录

  • 相关阅读:
    我的2015---找寻真实的自己
    JQuery日记 5.31 JQuery对象的生成
    UVA
    elk 日志分析系统Logstash+ElasticSearch+Kibana4
    OAF 中下载使用XML Publisher下载PDF附件
    page上BeanId与ActionType中的ParameterId
    OAF 功能中的参数含义
    EBS管理员为供应商创建新联系人流程
    EBS Workflow参考资料
    采购模块设置快码
  • 原文地址:https://www.cnblogs.com/zzlei/p/13627331.html
Copyright © 2020-2023  润新知