问题起因
最近在写一个新项目,前端ajax传输图片给后端
laravel获取文件的方式是$request->file()
,但是昨天在测试一张图片后发现获取不到(结果为null
)
排查阶段
直接调用 PHP 的 $_FILE['file']
输出:
{
"name": "1947aa24769f9b6a0528c9aa89eca0b.jpg",
"type": "",
"tmp_name": "",
"error": 1,
"size": 0
}
可以看到错误码error
为1,由此排除是使用 Laravel 接口不当的问题。
问题解决
图片大小超过了php.ini配置中的限制,修改后重启 apache,发现问题已经解决
具体修改为改大下面两个数值
post_max_size = 8M
upload_max_filesize = 8M
wamp 修改php.ini是直接左键wamp图片选中编辑php.ini,打开的文件是apache/bin/php.ini
参考文档
https://www.php.net/manual/zh/ini.core.php#ini.upload-max-filesize