Android - 使用Base64上传到服务器之前减少图像文件大小

时间:2016-09-06 02:03:49

标签: android

我尝试在使用base64上传到服务器之前从库中减小文件大小。我已经尝试了stackoverflow&的所有建议。我在互联网上找到的其他地方没有成功。

对于图像> 2MB,一旦写入服务器(大约500KB),它们的大小似乎会减小。但是,对于图像<一旦解码并写在服务器上,它们似乎比原始文件大小大500KB(再次~500KB)。似乎有一个阈值,base64无法降低超出)。这是真的吗?我可以通过其他方式减少图像文件大小并以编程方式上传到服务器吗?

1 个答案:

答案 0 :(得分:-1)

private String string(Bitmap bitmap){
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.PNG, 50, stream);
    return Base64.encodeToString(stream.toByteArray(), Base64.DEFAULT);
}

将位图传递给字符串方法,转换为String。 compressFormat在PNG中,可自动降低尺寸和质量。