我正在从base64字符串发送图像到php服务器。从服务器端检索它时,它显示图像的大小,但它不显示我已发布到服务的图像。我使用post方法发送字符串。
我的android代码://对图像进行编码。
Bitmap bm=BitmapFactory.decodeFile(picturePath);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 100, baos); //bm is the bitmap object
byte[] b = baos.toByteArray();
String encodedImage = Base64.encodeToString(b, Base64.DEFAULT);
Php code://解码图像
$string=$_POST ['i_image'];
$filename="newimage.jpg";
$imagepath=base64_to_jpeg($string,$filename);
function base64_to_jpeg($base64_string, $output_file) {
$ifp = fopen($output_file, "wb");
$data = explode(',', $base64_string);
fwrite($ifp, base64_decode($data[1]));
fclose($ifp);
return $output_file;
}
有人可以帮我检索原始图片吗?
提前致谢。
答案 0 :(得分:0)
如果您想在PHP中解码图像,我认为这会对您有所帮助
$uploadDir = 'path/to/download/dir/';
$binary = base64_decode($data_encoded_base64);
header('Content-Type: bitmap; charset=utf-8');
$fileName=md5(uniqid()).'.png';
$file = fopen($uploadDir . $fileName, 'wb');
fwrite($file, $binary);
fclose($file);
希望它有所帮助, 祝你好运!。