将视频文件上传到Amazon S3时,我得到413请求实体太大

时间:2017-08-03 13:55:50

标签: node.js file-upload amazon-s3 cloudflare http-status-code-413

在将视频文件上传到Amazon S3时,文件在上传时达到100%,然后我得到响应413请求实体太大。我如何解决这个问题,以便我可以将视频文件上传到Amazon S3?

我正在使用Nodejs,Express,Heroku,Cloudflare和Amazon S3。

3 个答案:

答案 0 :(得分:2)

您的网络服务器是什么nginx,apache ..等等?

对于nginx, 你需要找到nginx.conf文件。它应该在

/etc/nginx/nginx.conf

用vi或nano打开

vi /etc/nginx/nginx.conf

找到client_max_body_size 2M

client_max_body_size 2M

你可以编辑完成这一步。 M =兆字节G =千兆字节

如果这不起作用,你需要更改php.ini才能正常工作

这设置允许脚本分配的最大内存量(以字节为单位)

memory_limit = 32M

上传文件的最大尺寸。

upload_max_filesize = 2M

设置允许的帖子数据的最大大小。此设置也会影响文件上载。要上传大文件,此值必须大于upload_max_filesize

post_max_size = 3M

HEROKU更新

如果您使用的是Express v4 +,则可以使用

app.use(bodyParser({limit: '5mb'}));

但请确保此行位于

之上
app.use(bodyParser.json());

否则无效

答案 1 :(得分:1)

自从您提到Cloudflare以来,这很可能是罪魁祸首。 They enforce a maximum upload size of 100MB为其免费计划。由于您使用的是AWS S3,因此您可以生成预签名的URL并直接上传到S3存储桶,而无需通过服务器。

答案 2 :(得分:0)

我使用免费的Heroku服务器,不确定他们使用的是什么网络服务器..而且我还有免费的cloudflare帐户女巫我试图暂停这个应用程序,但没有成功。