为了账号安全,请及时绑定邮箱和手机立即绑定

对包含大于 1MB 的文件的 Laravel 的 POST 请求失败

对包含大于 1MB 的文件的 Laravel 的 POST 请求失败

PHP
白猪掌柜的 2023-04-28 17:13:19
在 POST 请求中发送大于 1MB 的文件时,我会(failed)在 Chrome 中收到响应。小于 1MB 的文件工作正常,所以我希望某些东西设置了 1MB 的限制。我正在运行phpinfo()以检查我的 php.ini 文件中的值,该文件显示upload_max_filesize=100M和post_max_size=100M. 我还检查了 Laravel 日志,但没有关于此的错误。我正在使用在装有 PHP 7.4.5 的 Homestead 盒子上运行的 Laravel 6.18.13。我的前端应用程序使用的是 Angular 9。这是发送请求的 Angular 中的代码:const formData = new FormData();params.files.forEach((file: File) => {  formData.append(`audio_files[]`, file, file.name);});return this.http.post<APIResponse>(url, formData);任何关于可能设置此 1MB 限制的想法都将受到赞赏。
查看完整描述

1 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

大多数网站都有多个层次需要考虑:

  • Web 服务器/反向代理,例如 nginx

  • PHP进程

  • 数据库

  • 浏览器安全

Nginx 限制

对于 nginx,请确保该client_max_body_size指令已正确设置。必须在 http 和服务器上下文中设置。

(会产生 413 entity too large http 状态代码)

PHP 限制

您调整以下内容是正确的:

  • upload_max_filesize

  • post_max_size

  • file_uploads

  • max_file_uploads

另请检查您的 PHP 错误和访问日志以获取更多信息。

数据库限制

如果数据被解析到数据库,那也可能有一些限制。对于 MySQL,请考虑以下事项:

  • max_allowed_packet

浏览器

浏览器或 JavaScript 可以取消请求,请检查您的控制台是否有警告,确保您没有发送不正确的标头,请求被浏览器插件或类似工具取消。


查看完整回答
反对 回复 2023-04-28
  • 1 回答
  • 0 关注
  • 148 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信