Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有其他方法可以在不使用Base64编码/解码的情况下将位图转换为上载到php服务器?_Php_Android_Bitmap_Base64 - Fatal编程技术网

是否有其他方法可以在不使用Base64编码/解码的情况下将位图转换为上载到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

我想传输一个位图,转换成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。谢谢建议?阿明-按照你的建议,将其作为答案发布,这样我就可以给你评分了。