它在本地工作,当它在生产中我不能上传文件,它是一个CSV文件,大小为6.8mb,它托管在vapor上。我正在使用vue2dropzone组件。
x4shl7ld1#
这可能有几个原因。您应该检查:
post最大大小上载最大文件大小限制请求正文
客户端最大正文大小
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文件而不存储它,您可以选择分块上传它,或者逐行将它流式传输到后端。
2条答案
按热度按时间x4shl7ld1#
这可能有几个原因。
您应该检查:
post最大大小上载最大文件大小限制请求正文
客户端最大正文大小
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文件而不存储它,您可以选择分块上传它,或者逐行将它流式传输到后端。