PHP从base64 * rgba * string保存PNG

时间:2014-01-24 04:13:25

标签: php image png base64 jpeg

我想知道是否有人可以帮助我,我正在将我的Windows手机c#中的图像发送到php,我想保存图像。

数据连接有效,我可以收到POST值 请参阅:http://posttestserver.com/data/2014/01/23/19.41.40516059397了解服务器收到的信息。

我现在想将这个base64编码的 RGBA 字符串保存到png或jpg(我更喜欢png,但我不需要alpha值)。

这是我有服务器端的代码

//getimagecontents  
$data = base64_decode(file_get_contents("php://input"));
//create an image from string
$im = imagecreatefromstring($data);
if ($im !== false) {
  //add an header for the image
  header('Content-Type: image/png');
  //save the image
  imagepng($im, 'upload/test.png');
  imagedestroy($im);
  echo "it worked!";
}

希望有人可以帮助我,因为它让我彻夜不眠:(

提前致谢:)

2 个答案:

答案 0 :(得分:0)

确保您收到的数据。如是。然后在没有base64_decode的情况下尝试一次,并创建上传目录,保存图像。如果未创建,则无法保存图像。

在两种情况下都应该收到警告,表明存在问题。如果这是您的开发环境,请在php.ini或您的脚本中打开警告报告。

另一件事,当你只想将它保存到文件系统时,为什么要为图像发送标题。

答案 1 :(得分:0)

我发送的图片太大,服务器无法处理...

因为它是作为RAW文件发送的......

将其转换为png,现在就像魅力一样