是否有其他方法可以在不使用Base64编码/解码的情况下将位图转换为上载到php服务器?
我想传输一个位图,转换成jpeg(我可以这样做),然后通过http将其发布到php服务器。在服务器上查看php脚本后,它根本不使用base64端编码/解码。我已经看到并使用了Base64编码/解码,如下所示,但服务器的api没有采用它。我还怀疑现在我能否更新php服务器上的api。服务器上的api目前支持32位iPhone,以防提供线索 还有图像本身有什么问题吗 我没有在php代码中看到任何解码/编码,只是标准的“move_uploaded_file”,我不是php程序员 这不适用于特定的php服务器是否有其他方法可以在不使用Base64编码/解码的情况下将位图转换为上载到php服务器?,php,android,bitmap,base64,Php,Android,Bitmap,Base64,我想传输一个位图,转换成jpeg(我可以这样做),然后通过http将其发布到php服务器。在服务器上查看php脚本后,它根本不使用base64端编码/解码。我已经看到并使用了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);
还有其他发送图像的方法吗?为什么不将bmp转换为jpg文件,并以多部分形式发送到PHP。很高兴脚本不接受base64编码的图像。这意味着要传输的字节将增加30%。发布字节/文件的代码经常发布在这个网站上。Anim-我现在正在寻找一个多部分表单,因为这是php服务器正在使用的,刚刚在一小时前发现。寻找一个版本,我不必走得太远。我不希望有多个版本的httpConnections或httpClients。谢谢建议?阿明-按照你的建议,将其作为答案发布,这样我就可以给你评分了。