1

Spring Webflow アプリケーションがあります。1 つのビューステートでは、ユーザーはファイルをサーバーにアップロードできます。デフォルトでは、ファイルは Apache Trinidad によって一時的にリクエスト スコープ用にのみ作成されます。次のステップでユーザーの確認が必要なので、サーバー上の別のパスにコピーします。コピー後、ファイルはサーバー ディスク ストレージに保存され、参照先は です。

<!-- This variable holds server File path
<var name="uploadFO" class="com.company.whateverUploadFO" />
...
<!-- User uploads file here in <tr:inputFile> element -->
<view-state id="view" view="/flow/upload.xhtml">
    <transition on="reset" to="deleteFile"/>
    <transition on="start" to="startProcessing"/>
</view-state>

通常のフローでは、ファイルは明示的に削除されます。しかし問題がある。アップロード後、確認前にユーザーがブラウザを閉じるとどうなりますか? ファイルはサーバー ディスクに「永久に」残されます。どうすればこれを防ぐことができますか? ユーザーがフローを放棄したときに呼び出されるクリーンアップ メソッドを登録するにはどうすればよいですか? ありがとうございました

4

1 に答える 1

0

ユーザーがブラウザを終了しても、終了状態は呼び出されません。そのため、ブラウザを終了したときにうまく削除することはできません。分/時間/日/...ごとにリソースをクリーンアップするジョブを使用できますか...または、ソリューションを再考して、アップロードした直後にファイルを削除する必要がありますか?

于 2015-06-30T09:36:30.880 に答える