413请求实体太大- PHP Vapor Laravel

6rvt4ljy  于 2023-02-03  发布在  PHP
关注(0)|答案(2)|浏览(250)

它在本地工作,当它在生产中我不能上传文件,它是一个CSV文件,大小为6.8mb,它托管在vapor上。我正在使用vue2dropzone组件。

x4shl7ld

x4shl7ld1#

这可能有几个原因。
您应该检查:

  • php配置文件(php.ini). upload_max_filesize post_max_size
  • Apache Web服务配置,例如服务器使用Apache服务(httpd. conf、. htaccess):编辑此值:

post最大大小上载最大文件大小限制请求正文

  • 或者如果您的服务器使用nginx服务,您可以检查nginx. conf文件。

客户端最大正文大小

pkln4tw6

pkln4tw62#

在文档中,你的主机指出POST请求的上传是有上限的,这意味着你的上传必须在4.5MB以下。

文件上载

由于AWS Lambda的限制,直接上传到应用程序后端的文件最大只能达到大约4.5MB。这是AWS强加的硬限制,更新php.ini配置文件或任何其他配置都不会提高此限制。因此,为了确保应用程序的用户不会收到HTTP 413 Payload Too Large响应,您可以在将文件上载到应用程序后端之前使用JavaScript验证文件上载大小。
如果您的应用需要接收的上传文件大于AWS允许的大小,则这些文件必须从应用的前端(浏览器)直接流传输到S3。为了帮助您,我们编写了一个NPM包,可以轻松地直接从应用的前端执行文件上传。
上面提到的解决方案(这只是众多解决方案中的一个,你不必采纳他们的建议)使用基于浏览器的laravel-vapor软件包将文件上传到S3兼容的存储器。身份验证是通过让你的Laravel应用创建一个URL来完成的,这个URL可以一次性用于将文件上传到S3存储桶。这样,你就不用在前端存储你的凭据了。
或者,如果您只想接收CSV文件而不存储它,您可以选择分块上传它,或者逐行将它流式传输到后端。

相关问题