在小文件上传(约 2 Mb)时出现大量“413 请求实体太大”错误后,我试图增加 POST 请求的大小,以便让用户上传“大”文件。
我的 Apache2 在 Ubuntu 16.04 上运行,并启用了 mod_security2,因此我编辑了位于的配置文件/etc/modsecurity/modsecurity.conf
,添加:
SecRequestBodyLimit 13107200
SecRequestBodyNoFilesLimit 13107200
即使我重新启动了 Apache2,这个更改似乎也被忽略了,因为我继续看到在 POST 中发送的 2 MB 测试文件出现 413 错误。
因此我打开了 Apache2 配置文件/etc/apache2/sites-enabled/000-default.conf
并使用以下命令对其进行了编辑:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
LimitRequestFieldSize 10000000 # <-------
LimitRequestBody 10000000 # <-------
</VirtualHost>
再次重启后,还是没有成功。最后的更改是编辑 php.ini,因此我添加了以下内容:
post_max_filesize="10M"
upload_max_filesize="10M"
post_max_size="10M"
猜猜怎么了?当我尝试 2Mbytes 文件时,仍然出现 413 错误。
我真的看不到其他方法来实现这一目标,也许还有其他配置文件需要更改?
答案1
您需要有 enctype="multipart/form-data"
--> form action="http://localhost:8000" method="post" enctype="multipart/form-data" 来执行此操作...