从base64字符串解码图像

时间:2014-08-25 07:38:38

标签: php android image web-services base64

我正在从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; 
}

有人可以帮我检索原始图片吗?

提前致谢。

1 个答案:

答案 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);

希望它有所帮助, 祝你好运!。