我想传输一个位图,转换为jpeg(我可以做)并通过http发布到php服务器。在查看服务器上的php脚本后,它根本不使用base64 endcoding / decoding。我已经看过并使用了Base64编码/解码,如下所示,但是服务器的api没有接受它。我也怀疑在这个时候我可以更新php服务器上的api。服务器上的api目前支持32位iPhone,以防提供线索。
图像本身也有任何问题吗?
我还没有在php代码中看到任何解码/编码只是标准' move_uploaded_file'我不是一个php程序员。
这对特定的php服务器不起作用。
public static String encodeTobase64(Bitmap image) {
Bitmap immage = image;
Integer quality = 80;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
immage.compress(Bitmap.CompressFormat.JPEG, quality, baos);
byte[] b = baos.toByteArray();
String imageEncoded = Base64.encodeToString(b, Base64.DEFAULT);
return imageEncoded;
}
public static Bitmap decodeBase64(String input) {
byte[] decodedByte = Base64.decode(input, 0);
return BitmapFactory.decodeByteArray(decodedByte, 0, decodedByte.length);
}
我也试过Base32编码器/解码器。
public static String encodeToBase32(Bitmap image) {
Bitmap immage = image;
Integer quality = 90;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
immage.compress(Bitmap.CompressFormat.JPEG, quality, baos);
byte[] b = baos.toByteArray();
String imageEncoded = Base32.encode(b);
return imageEncoded;
}
并且还尝试了一个直字节数组,将上面的第二行更改为
String imageEncoded = String.valueOf(b);
还有其他方式发送图片吗?