图片上传通过Bitmap转换成Base64编码然后当做请求参数上传

时间:2023-01-11 12:15:11

在开发过程中经常会用到图片上传场景,如果是在HTML中我们上传图片可以通过提交表单的形式上传图片,但是如果要在Android实现图片上传,我们可以通过提交表单的形式提交表单,但是还有一种就是把我们的图片转换成Base64编码,把图片编码通过请求参数的形式上传到服务,服务端在通过解码的形式得打图片。

public static String bitmapToBase64NONseal(Bitmap bitmap) {  
    //转换结束以后的Base64编码
    String result = null;  
    //读取bitmap以后通过字节数组来盛装
    ByteArrayOutputStream baos = null;  
    try {  
        if (bitmap != null) {  
            baos = new ByteArrayOutputStream();  
            //通过Bitmap的方法把Bitmap数据放到字节数组当中,用于之后的转换使用
            bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);  

            baos.flush();  
             baos.close();  
            //把字节数组转换
             byte[] bitmapBytes = baos.toByteArray();  
            //进行编码转换
            result = Base64.encodeToString(bitmapBytes, Base64.DEFAULT);  
        }  
    } catch (IOException e) {  
        e.printStackTrace();  
    } finally {  
        try {  
            if (baos != null) {  
            baos.flush();  
            baos.close();  
            }  
        } catch (IOException e) {  
            e.printStackTrace();  
            }  
        }  
    return result;  
}