黑马程序员技术交流社区

标题: 【济南中心】图片资源转base64的小坑 [打印本页]

作者: 大山哥哥    时间: 2016-12-28 10:41
标题: 【济南中心】图片资源转base64的小坑
本帖最后由 大山哥哥 于 2016-12-28 10:48 编辑

大家一听图片转base64,可能就会嘿嘿一笑,网上demo多的是,这玩意还用得着写么
但是这里要说明一个问题这里在设置base64的模式要选为no_wrap,不然在转换后,可能会出问题,尤其是在小米手机上


为什么会有问题呢?
Base64算法加密,当字符串过长(一般超过76)时会自动在中间加一个换行符,字符串最后也会加一个换行符。导致和其他模块对接时结果不一致。

首先说下base64存在哪些模式吧

好了上面都是所谓的言论,那么咱们接下来直接上代码吧~

[Java] 纯文本查看 复制代码
    public static String imgToBase64( Bitmap bitmap,int quality) {

        if(bitmap == null){
            //bitmap not found!!
        }
        ByteArrayOutputStream out = null;
        try {
            out = new ByteArrayOutputStream();
            bitmap.compress(Bitmap.CompressFormat.JPEG, quality, out);

            out.flush();
            out.close();

            byte[] imgBytes = out.toByteArray();
            return Base64.encodeToString(imgBytes, Base64.NO_WRAP);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            return null;
        } finally {
            try {
                out.flush();
                out.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }


好了~,希望大家以后在做这类的操作的时候注意下,别忘了这里有解决方案哦



作者: hgd5201314    时间: 2016-12-28 23:46
支持一个
作者: 小虎同学    时间: 2016-12-29 10:23
赞一个我

作者: 13414309233F    时间: 2017-1-14 17:51
感谢!!!!!!!
作者: baby14    时间: 2019-7-6 10:40
多谢分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2