REST API Base64映像imagecreatefromstring():数据不是可识别的格式 - php

我正在为Android应用开发REST API。我想将base64图像另存为从应用程序发送的jpeg图像。我在laravel干预下为此编写了代码,并与邮递员进行了测试。没问题。但是,当数据从Android App发送时,他们说我在收到错误Image intervention - Image source not readable时出现了500条错误。

之后,我看到他们的JSON包含反斜杠和\n。因此,我尝试使用stripslashesstripcslashesutf8_encodeutf8_decode逃脱它们,但是没有运气。

在离开laravel干预并开始尝试使用imagecreatefromstring(gd)库之后。 imagecreatefromstring(): Data is not in a recognized format消息也没有运气。

这是我的尝试。

<?php
$json_string = '{"id_city":2,"image":"UklGRpQEAABXRUJQVlA4IIgEAAAQGgCdASpyAHMAPxF+tlMsKCUiqxLrCYAiCWkRQAHDhsYwTe19\nO7uR07OS4zITzPgo\/k\/\/0J5nUNHFl64IOAxaccVoK1IldwGQzh87cuQK\/Qv6ruo6EARQuRqZXsI1\nT1a85ouI4ZYwKmvLwgnuBPnn\/HRLOOjc4GJZ2WzZhF5g+XbewWBxrDfIJEcLkLPeY8ebLZwDLcjY\nSUrgaaxHaTX1+xU8bcKt59iNx\/IMFYnpdDJvKcJwFW9rBRy\/U5DjRlo5ZQU7dKgqlxXmdu5MGOh2\n43RLSSEWILgAANfz4R4KgwnZHkZWDlHwIRGB+lbtcZ4Y4mWUjleS5JFM3KmrDaJ419MI2ZJJU\/7k\n0Z63mAmpzXw31PSx+S+HPbgOz8MxBGrN09TRKMLuJ5i5LMOQQXjtsd0idgm7djBK+5MW0EnFMuCg\nZqmSJN3GJlBDoiuUSOsJsG4iwgt3mUGcqCnlcEvqKoGoXcELjZz1mr+WCRvFdllVtLtbO3la0aKi\neKrWUJGpztH59Gub9ENSLdVbif\/ZqknZP4suXBmfEj\/aBRk13G0p+PfzPFi\/UIYaKp2E8IgRyQUY\nF+ORSC+8+BY2hvmdRlfGxk25HvsYvNj9LCiCCmwf2LY80yDOCfAES8\/Zbkcf4Sk6cWdWvZ97N2Z1\nGxIG3u\/ozL3dojnfpkFySQr1mEfzZRlK0xXRQ2uEi3A0Av6pDw\/Agti0lqVNunnw94R8jLYOrQ7M\n7vSphyGicy+oyO0K7cbUQMVFW3j\/oRJK4s8WUiekb1enKbO96EDDTzQCCdn31wG2hU\/gR5RFYK7u\nxbdqWs1lLp\/JBwrua\/v2Vj3TDXFV9a\/JuzdOWSkEa7K8TqU2AlP67mM6HM132Ywl3ia631jGli+I\nIc8bKGr94ntR134G\/hLmQ1u2yq\/v1D8JwXgtQ2IRDsZvd1Y5EguLtdUSpl6z55GkWo69GAKGaNqH\njxW9hEAnx5aiF\/MPCsn34TVQ5saH2w0nOHKASzvCpVSYVbWiGJwxu7WQxTJA0rfRtULzLM+mymOK\neZtoiI0lYiireQpXTu8feigMY48QIU5Xc1G\/xqHSeyS5\/Z5VIFdkJCp\/JWbzoDCY\/tPdXrNwAzHX\nq8VX9qJ+4z1iiqtqx3MokhP8IX63qfOitGKrI8TfqC2SPr4BY1udsJjsVyFJDrxPtOia6JaDY5Ve\nTKcH+gs9oGAAjYdNDqOWy6FQbNJWVc\/VFTrzqXP2RJ32K9DepoTj8pAujbvjBzOxaKakp1934e9E\nyNjxeDmSPCWD31mo0351iPMqyyC1k02PO0nCttrpqsgUrdXS9v0kLtpx+Dt9n5y3tgGd\/dXnQhrW\nEcamg0R4XQy2kVbQVo\/eAi5G+VZOpo1c6mBAbU9rl1JPZY2HJmfZI5EZAXTH2Idi9zSzSjcP4cT+\nTWBl1kfl\/v+cAFGUJj9vx2dhvpq7hhFBzZ9NmBHCdE8qEEpz7JkHCgVIR6SSOZoEg9CMS\/NEGm9w\nUDgX+FGlCdz94\/3XNLPbe\/kEpZ\/5C+QJJVAV27kOIl9IC8If9YGAAA==\n"}';

$data = json_decode($json_string);

var_dump($data->image);
// After copy and pasted the var_dump result to the postman it works

$base64_decoded = base64_decode($data->image);

imagecreatefromstring($base64_decoded);
?>

参考方案

您的Base64编码的数据实际上是.webp图像,但是imagecreatefromstring()函数未检测到此编码。

更改:

imagecreatefromstring(

至:

imagecreatefromwebp(

REST API中的域限制 - php

我正在使用基于密钥的身份验证为Web应用程序在PHP中开发REST API,我也想实现DOMAIN限制以调用REST API,以便只能从允许的域或子域访问它。为此,我尝试从$ _SERVER变量中获取HTTP_REFERRAL,但通过CURL调用API时,它没有给出HTTP_REFERRAL(可能是因为未通过HTTP协议进行调用),请提出实现它的最佳方法是什…

Analytics API:自动身份验证 - php

我正在尝试使用Google Analytics(分析)Reporting API构建仪表板,以便为我公司的客户创建报告。问题是我需要使用cronjob创建报告,但这需要身份验证。我尝试了以下方法:1.使用API for web applications:我设法完成了这项工作,但是OAuth2流程通过将我重定向到Google登录页面,迫使我向Google进行身…

Dropbox API限制 - php

考虑到我不是业余爱好者,是否可以使用dropbox api直接在我的网页上显示我dropbox帐户上的文件夹的内容,并允许dropbox用户向其添加内容(也可以直接从我的网站)向其添加内容专业的编码员。 参考方案 您可能会对Dropbox Chooser和Saver JavaScript小部件感兴趣,这些小部件允许您执行类似操作。如果您的用户不仅仅使用Dro…

Fusion Tables API:如何通过Ruby,JavaScript或其他语言提出PUT请求以更新样式? - php

我正在查看this Fusion Tables API page有关如何通过Fusion Tables API更新Fusion Table样式设置的信息。显然,您必须发出PUT请求才能更新Fusion Table的样式。我想知道:如何在Ruby或JavaScript中做到这一点?是否可以用其他流行语言(例如pHp,Python)来做到这一点? 参考方案 在P…

PHP-将日期插入日期时间字段 - php

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数