zoukankan      html  css  js  c++  java
  • 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();
    }

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

  • 相关阅读:
    C# 去重处理字符大小写
    javascript 面向对象之路.2
    C# 如何批量修改集合元素的属性值?
    javascript 面向对象之路.1
    .NET 黑魔法
    C# 语言
    .NET 黑魔法
    .NET 黑魔法
    .NET 黑魔法
    lumisoft.net 邮件管理系列文章
  • 原文地址:https://www.cnblogs.com/zzlei/p/13627331.html
Copyright © 2011-2022 走看看