将视频文件上传到 Amazon S3 时,文件在上传时达到 100%,然后我收到响应 413 Request Entity Too Large。如何解决此问题,以便我可以将视频文件上传到 Amazon S3?
我正在使用 Nodejs、Express、Heroku、Cloudflare 和 Amazon S3。
将视频文件上传到 Amazon S3 时,文件在上传时达到 100%,然后我收到响应 413 Request Entity Too Large。如何解决此问题,以便我可以将视频文件上传到 Amazon S3?
我正在使用 Nodejs、Express、Heroku、Cloudflare 和 Amazon S3。
你的网络服务器 nginx,apache ..etc 是什么?
对于 nginx,你需要找到 nginx.conf 文件。它应该在
用 vi 或 nano 打开
找到client_max_body_size 2M
你可以编辑这个结束。M = 兆字节 G = 千兆字节
如果这不起作用,您需要更改 php.ini 以使其正常工作
这设置了允许脚本分配的最大内存量(以字节为单位)
上传文件的最大大小。
设置允许的帖子数据的最大大小。此设置也会影响文件上传。上传大文件,这个值必须大于upload_max_filesize
为 Heroku 更新
如果您使用的是 Express v4+,则可以使用
app.use(bodyParser({limit: '5mb'}));
但要确保这条线在上面
app.use(bodyParser.json());
否则它将无法正常工作
既然您提到了 Cloudflare,那很可能是罪魁祸首。他们为其免费计划强制执行最大上传大小为 100MB 。由于您使用的是 AWS S3,因此您可以生成预签名 URL 并直接上传到您的 S3 存储桶,而不是通过您的服务器。
我使用免费的 Heroku 服务器,不确定他们使用的是什么网络服务器。我还有免费的 cloudflare 帐户,我试图暂停这个应用程序,但没有成功。