ホームページ  >  記事  >  Java  >  Java ファイルアップロードサイズ制限エラー例外 (FileUploadSizeLimitExceededErrorExceotion) を解決する方法

Java ファイルアップロードサイズ制限エラー例外 (FileUploadSizeLimitExceededErrorExceotion) を解決する方法

WBOY
WBOYオリジナル
2023-08-19 21:51:331518ブラウズ

Java ファイルアップロードサイズ制限エラー例外 (FileUploadSizeLimitExceededErrorExceotion) を解決する方法

Java ファイル アップロード サイズ制限エラー例外 (FileUploadSizeLimitExceededErrorExceotion) を解決する方法

Web 開発では、ファイルのアップロードは一般的な機能要件です。ただし、Java のファイル アップロード機能には、デフォルトでファイル サイズ制限があります。アップロードされたファイルのサイズが制限を超えると、FileUploadSizeLimitExceededErrorExceotion 例外がスローされます。この記事では、この問題を解決する方法を説明し、対応するコード例を示します。

ファイル アップロード サイズ制限エラー例外を解決するには、まず一般的な解決策を理解する必要があります。一般的に使用される 2 つの方法は次のとおりです。

  1. アプリケーション サーバーの構成ファイルを変更する
  2. コード内のファイル アップロード構成を変更する

#次に、両方のソリューションについて、対応するコード例を示して詳しく説明します。

1. アプリケーション サーバーの設定ファイルを変更する

ほとんどの Java アプリケーション サーバー (Tomcat、Jetty など) では、ファイル アップロードのサイズ制限を設定ファイルで設定できます。 。これらの構成ファイルを変更することで、ファイルのアップロードのサイズ制限を増やすことができます。

Tomcat を例にとると、Tomcat の設定ファイルserver.xml に次の設定があります。

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           maxSwallowSize="-1" />

この設定では、maxSwallowSize は許容可能な最大ファイル サイズを表し、デフォルト値は次のとおりです。 -1 は、ファイル サイズに制限がないことを意味します。 10MB (10 1024 1024) など、必要なサイズに変更できます。

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           maxSwallowSize="10485760" />

変更が完了したら、サーバーを再起動して有効にします。

2. コード内のファイル アップロード構成を変更する

アプリケーション サーバー構成ファイルを変更できない、または変更したくない場合は、コード内のファイル アップロード構成を変更することで問題を解決できます。 。

Java で一般的に使用されるファイル アップロード ツールは、Apache Commons FileUpload です。ファイルのアップロードのサイズ制限は、パラメータを設定することで変更できます。

以下はサンプル コードです:

import org.apache.commons.fileupload.FileUploadBase;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import javax.servlet.http.HttpServletRequest;
import java.util.List;

public class FileUploadUtils {

    public static List<FileItem> parseRequest(HttpServletRequest request) throws FileUploadException {
        DiskFileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setSizeMax(10 * 1024 * 1024); // 设置文件上传的大小限制为10MB
        upload.setHeaderEncoding("UTF-8");
        return upload.parseRequest(request);
    }
}

上記のコードでは、アップロード オブジェクトの setSizeMax メソッドを設定することで、ファイル アップロードのサイズ制限を指定します。ここでは、ファイルのアップロードのサイズ制限は 10MB に設定されています。

このメソッドを使用する場合、HttpServletRequest オブジェクトを渡してアップロードされたファイルのリストを取得し、ファイルを処理するだけです。

上記は、Java ファイル アップロード サイズ制限エラー例外を解決する 2 つの方法と、対応するコード例です。実際の状況に応じて解決方法を選択してください。お役に立てれば幸いです!

以上がJava ファイルアップロードサイズ制限エラー例外 (FileUploadSizeLimitExceededErrorExceotion) を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。