繁体   English   中英

PHP base64字符串到图像

[英]Php base64 string to image

我从我的Android应用程序中获取base64字符串,该脚本使用php脚本将其保存到目录中,对于png来说一切正常。 除了我需要适用于所有图像类型的脚本之外,在android方面,我具有httpservlet扩展类,并使用该类发送带有包含base64字符串的变量的get请求。 所以我们在服务器端只有一个base64字符串,您能帮我吗? 这是我的PHP代码

<?php

 $imgstr = $_REQUEST['string'];


      // Decode the data
$data = base64_decode($imgstr);

$im = imagecreatefromstring($data);
if ($im !== false) {
header('Content-Type: image/png');
imagepng($im);

$success = file_put_contents("img/abc". uniqid().".png", $data);
imagedestroy($im);
if ($success) {
    echo 'yes yes yes';
}
} else {
echo 'An error occurred.';

}?>

好的,所以我所做的是我只是在编码为base64之前计算了mime类型并将其作为变量发送

这就是我做的

 public static String getMimeType(String url) {
    String type = null;
    String extension = MimeTypeMap.getFileExtensionFromUrl(url);
    if (extension != null) {
        MimeTypeMap mime = MimeTypeMap.getSingleton();
        type = mime.getMimeTypeFromExtension(extension);
    }
    return type;
}   

   mimetype = getMimeType(picturePath);
   String temp[] = mimetype.split("/");
   as.add(new BasicNameValuePair("mime", temp[1]));

之后,它与图像一起发送到服务器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM