1

将JPEG转换为base64有很好的资源。

我特别感兴趣的是在不解码为 bimap 的情况下这样做,避免任何内存膨胀。我也知道任何文件都可以通过首先将其转换为字节数组来编码为 Base64。

因此,如果我们可以直接创建一个远远小于解码的 jpeg 位图的字节数组的 JPEG / PNG 文件的字节数组,我们可以使用更少的内存占用将其转换为 base64。

我遇到的最接近的答案是这个https://stackoverflow.com/a/10160856/499752

4

1 回答 1

0
public void getGalleryDetails(String path) throws FileNotFoundException {


    InputStream inputStream = new FileInputStream(path);
    byte[] bytes;
    byte[] buffer = new byte[8192];
    int bytesRead;
    ByteArrayOutputStream output = new ByteArrayOutputStream();
    try{
        while((bytesRead = inputStream.read(buffer)) != -1){
            output.write(buffer, 0, bytesRead);
        }
    }catch(IOException e){
        e.printStackTrace();
    }

    bytes = output.toByteArray();

    encodedImage = Base64.encodeToString(bytes, Base64.DEFAULT);
    Log.i("ENCODED", encodedImage);
}

您实际上可以使用它...您可以在其中提供要转换为 Base64 的文件的路径。对不起,迟到的帖子......只是说这个帖子。

于 2013-11-29T04:33:04.063 回答