【问题标题】:PHP save PNG from base64 *rgba* stringPHP 从 base64 *rgba* 字符串保存 PNG
【发布时间】:2014-02-14 22:53:34
【问题描述】:

我想知道是否有人可以帮我解决这个问题,我正在从我的 windows phone 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!";
}

希望有人能帮我解决这个问题,因为它让我彻夜难眠:(

提前致谢:)

【问题讨论】:

    标签: php image png base64 jpeg


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      将其转换为 png,现在可以像魅力一样使用

      【讨论】:

        猜你喜欢
        • 2011-07-21
        • 1970-01-01
        • 2011-09-28
        • 2011-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-17
        • 1970-01-01
        相关资源
        最近更新 更多