【发布时间】:2017-12-03 06:29:47
【问题描述】:
我使用 Laravel 框架 编写了 PHP 网络服务,以使用 base64 字符串上传图片。 它适用于小型 base64 字符串。但是当我尝试生成 5 MB 图像的 base64 字符串时,它在服务器端收到 NULL 请求。 这是PHP服务器端代码:
<?php
$post_data = file_get_contents("php://input");
$post_data = json_decode($post_data);
var_dump($post_data);exit;
?>
当我尝试打印小的 base 64 请求时使用上面的源代码,它工作正常。当我尝试发布大型 base64 图像时,它返回 NULL。
请帮助我哪里出错了。另外请建议是否有其他方法可以在服务器端上传大型 base 64 字符串。
我还尝试使用以下值在"/Applications/MAMP/bin/php/php7.0.12/conf/php.ini" 处编辑php.ini
post_max_size 200M
upload_max_filesize 200M
并尝试重新启动服务器,但仍然出现相同的错误。
【问题讨论】:
-
json_decode需要有效的json数据才能解码,否则为null
-
看看这个stackoverflow.com/questions/949415/… (post_max_size / upload_max_filesize)
-
@RAUSHANKUMAR 没有得到大的 base 64 字符串。这就是问题所在。
-
更改php.ini中
post_max_size和upload_max_filesize的大小