服务器 PHP 脚本无法正确解码来自 Android 设备的 Base64 图像字符串

Server PHP script won't properly decode Base64 image string from Android Device

我正在尝试将文本数据和 Base64 编码的图像字符串发送到我的测试服务器。数据成对发送。

ArrayList<NameValuePair> params = new ArrayList<>();
            params .add(new BasicNameValuePair("ownName", text1));
            params .add(new BasicNameValuePair("phone", text4));
            params.add(new BasicNameValuePair("email", text2));
            params .add(new BasicNameValuePair("petName", text5));
            params .add(new BasicNameValuePair("zipCode", text3));
            params .add(new BasicNameValuePair("image", imageString));

图像被编码成一个字符串(其中 'b' 是我的压缩位图)并与文本项一起发送到服务器。

imageString = Base64.encodeToString(b, Base64.DEFAULT);

我将文本信息添加到我的数据库中,我想将图像存储在服务器上。我确定我服务器上的 PHP 脚本是错误的。我已经尝试过其他帖子的一些建议来解决同样的问题,但我没有成功。图片名称显示在我指定的目录中,但大小为0kb,无法打开。目前,我正在为 PHP 方

尝试这种格式
$data = $_POST["image"]; 
list($type, $data) = explode(',', $data);
$data = base64_decode($data);
file_put_contents('../image1.jpg', $data[1]);

我尝试了很多变体,但 none 都奏效了。我是否在解析 POST 图像的正确部分?我感谢任何 help/input.

谢谢。

这样解决了:

<?php

$base = $_POST["image"];
$binary=base64_decode($base);
header('Content-Type: bitmap; charset=utf-8');
$file = fopen('uploaded_image1.jpg', 'w');
fwrite($file, $binary);
fclose($file);

?>