在 POST 請求中發送大于 1MB 的文件時,我會(failed)在 Chrome 中收到響應。小于 1MB 的文件工作正常,所以我希望某些東西設置了 1MB 的限制。我正在運行phpinfo()以檢查我的 php.ini 文件中的值,該文件顯示upload_max_filesize=100M和post_max_size=100M. 我還檢查了 Laravel 日志,但沒有關于此的錯誤。我正在使用在裝有 PHP 7.4.5 的 Homestead 盒子上運行的 Laravel 6.18.13。我的前端應用程序使用的是 Angular 9。這是發送請求的 Angular 中的代碼:const formData = new FormData();params.files.forEach((file: File) => { formData.append(`audio_files[]`, file, file.name);});return this.http.post<APIResponse>(url, formData);任何關于可能設置此 1MB 限制的想法都將受到贊賞。
1 回答

吃雞游戲
TA貢獻1829條經驗 獲得超7個贊
大多數網站都有多個層次需要考慮:
Web 服務器/反向代理,例如 nginx
PHP進程
數據庫
瀏覽器安全
Nginx 限制
對于 nginx,請確保該client_max_body_size
指令已正確設置。必須在 http 和服務器上下文中設置。
(會產生 413 entity too large http 狀態代碼)
PHP 限制
您調整以下內容是正確的:
upload_max_filesize
post_max_size
file_uploads
max_file_uploads
另請檢查您的 PHP 錯誤和訪問日志以獲取更多信息。
數據庫限制
如果數據被解析到數據庫,那也可能有一些限制。對于 MySQL,請考慮以下事項:
max_allowed_packet
瀏覽器
瀏覽器或 JavaScript 可以取消請求,請檢查您的控制臺是否有警告,確保您沒有發送不正確的標頭,請求被瀏覽器插件或類似工具取消。
- 1 回答
- 0 關注
- 187 瀏覽
添加回答
舉報
0/150
提交
取消