0

Struts2 で適切に使用する方法がFileUploadInterceptorわかりません。私はすべてを配線しており、動作しています。ファイル拡張子と最大ファイル サイズを指定でき、実際に機能します。問題は次のとおりです。

  1. 最大ファイル サイズを 100 MB に指定します
  2. ユーザーが 110MB のファイルをJakartaMultiPartRequestアップロードすると、クラスがヘルプ共通file-uploadライブラリを使用してファイルのアップロードを処理することがわかります。これは、ファイル アップロード インターセプターの前に発生します。
  3. ユーザーが数分間待ってファイルのアップロードが完了すると、ファイル アップロード インターセプターが起動し、ファイルが大きすぎることをユーザーに通知します。

イベントの順序に問題があります。content-length ヘッダーを見て、(アップロードする前に) ファイルが大きすぎることをすぐにユーザーに伝えたいと思います。ヘッダーが常にあるとは限らないことは理解していますが、ある場合は使用したいと思います。

クラスを上書きする以外JakartaMultiPartRequestに、これを行う方法がわかりません。

編集:私が理解しているシーケンスは次のとおりです。

  1. ユーザーは、ファイルのアップロードでサーバーにマルチパート リクエストを送信します。
  2. Struts2 の JakartaMultiPartRequest はリクエストを解析し、S​​truts2 temp フォルダーにアップロードします。
  3. フローは最終的に、最大ファイル サイズとファイル拡張子がチェックされるファイル アップロード インターセプターに到達します。

上記から、アップロードがステップ 2 で行われたことは明らかです。ファイル全体がサーバー上にあり、ファイルアップロードインターセプターがファイルが大きすぎることを検出した後でのみです。

4

0 に答える 0