413 ファイルのアップロード時に Request Entity Too Large 問題が発生する。
2022-02-13 13:56:46
SpringBootプロジェクトは、ファイルをアップロードする必要があり、突然、ファイルが1MBより大きい場合、インタフェースが完全にアクセスできない、Fiddlerを開き、インタフェースが直接赤を報告し、インタフェースへのアクセスが全くないことを示す。
では、この問題の原因は何でしょうか?
解決方法は以下の通りです。
nginx.conf を開き(ops にはアクセス不可)、http{ }: client_max_body_size 50m に設定します。
client_max_body_size 50M
Nginxを再起動するだけです。それでもダメな場合は、ゲートウェイ(zuul)がファイルのアップロードを制限していないか確認してください。
## Turn on customization to configure
spring.http.multipart.enabled=true
##Maximum single file limit
spring.http.multipart.max-file-size=50MB
## total uploaded data size
spring.http.multipart.max-request-size=50MB
ゲートウェイを再起動する(再起動しないと効果がない)、まだ動作しない、SpringまたはSpringBootの設定を確認し続ける もし
FileUploadBase$FileSizeLimitExceededException: The field pic exceeds its maximum allowed size of 1048576 bytes.
org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException.FileSizeLimitExceededException: フィールド pic は、最大許容サイズ 1048576 バイトを超えています。
Springboot内蔵のtomactのファイル転送のデフォルトが1MBのため、1MB以上のファイルがアップロードできないので、設定を追加します(私のSpringBootのバージョンは1.5.6です)。
#Configure on, open custom
spring.http.multipart.enabled =true
##You can leave it off
spring.http.multipart.file-size-threshold =0
## The maximum single file limit is small
spring.http.multipart.max-file-size = 50MB
#The size of the total data
spring.http.multipart.max-request-size = 50MB
Springbootの2.0以降のバージョンでは、以下の変更が必要です。
#Single file size limit
spring.servlet.multipart.max-file-size = 50MB
#Total file limit size
spring.servlet.multipart.max-request-size = 50MB
概要
ファイルをアップロードできない理由は、おそらく次の4つだけです。
- 帯域の下でファイルのアップロードの制限を行うサーバー(Nginx、Apache、IISなど、本文はNginxの設定のみ解説しています)
- ゲートウェイがアップロードファイルのサイズに制限をかけるので、この時点で設定を追加すればよい。
- SpringBoot/Springはアップロードファイルのサイズに制限を設けており、設定を追加するだけです。
- ファイルが本当に大きすぎる、フロントとバックエンドのリンクタイムアウトは、自動的にリンクを壊す(あなたが自分で設定することができます、詳細はありません)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例