フォームのファイルストレージを管理する
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore Formsには、訪問者が1つまたは複数のファイルをWebフォームに添付できるようにするために使用できるファイル アップロード要素が含まれています。たとえば、履歴書、アバター、プロフィール写真などです。このトピックでは、これらのアップロードされたファイルのストレージを管理する方法について説明します。
デフォルトでは、すべてのフォームデータはExperience Formsデータベースに保存されます。 Sitecore.ExperienceForms.configファイルでは、接続文字列Sitecore.ExperienceForms.FileStorageConnectionStringNameを確認することで、デフォルト設定を表示できます。
接続文字列を使用して新しいファイルストレージを追加する
接続文字列を使用して新しいファイルストレージを追加する
スケーラビリティ上の理由から、フォームフィールドからの一般的なフォームデータのストレージと、訪問者がアップロードしたファイルのストレージを分離することができます。
Sitecore Formsファイル ストレージを別のデータベースに接続するには、次の手順に従います。
-
Sitecore.ExperienceForms.configファイルを開き、次の接続文字列を使用して設定を追加します。Sitecore.ExperienceForms.FileStorageConnectionStringName
例えば:
-
ConnectionStrings.configファイルを開き、作成した接続文字列を追加します。例えば:
カスタムのFileStorageProviderクラスを作成する
カスタムのFileStorageProviderクラスを作成する
IFileStorageProviderインターフェイスを実装することで、別のFileStorageProviderクラスを開発できます。
カスタムFileStorageProviderを作成するには:
-
独自のFileStorageProviderクラスを作成します。 IFileStorageProviderを拡張するには、Sitecore.ExperienceForms.Dataアセンブリへの参照を追加する必要があります。
次の表では、コマンドについて説明します。
命令
形容
ストアファイル
新しいファイルをストレージに保存します。格納されたファイルのGUIDを返します。
GetFile(ゲットファイル)
StoredFileオブジェクト内のファイル情報とファイル内容を取得します。StoredFileクラスには、次のものが含まれます。
削除ファイル
ストレージからファイルを削除します。
コミットファイル
ストレージ内のファイルをコミットします。コミットされたファイルは、クリーンアップ中に削除されません。
-
カスタマイズしたファイルプロバイダを登録するには、Sitecore.ExperienceForms.configファイルを開き、Sitecore.ExperienceForms.Data.IFileStorageProvider, Sitecore.ExperienceFormsを検索します。
-
実装の種類を、実際のFileStorageProviderクラス名とアセンブリ名に置き換えます。
クリーンアップ タスクの計画
クリーンアップ タスクの計画
Sitecore Formsは、訪問者がフォーム ページ間を移動すると、フォームが送信されていない場合でも、アップロードされたファイルを自動的に保存します。コミットされていないファイルが保存される期間は、FileGracePeriod設定によって決まります (デフォルトは4時間)。
コミットされていないファイルの保存期間を定義するには、FileGracePeriodの環境設定を変更します。
-
Sitecore.ExperienceForms.configファイルを開き、Sitecore.ExperienceForms.FileGracePeriodに進みます。
クリーンアップ・メカニズムは、コミットされていないファイルをクリーンアップします。デフォルトでは、クリーンアップ タスクは24時間ごとに実行されます。
Formsデータベースのクリーニングのコマンドとスケジュールを制御するには、次のようにします。
-
Masterデータベースで、sitecore/System/Tasks/

FileStorageCleanupコマンドには、次のフィールドが含まれています。
畑
形容
種類
クリーンアップ クラスの完全な名前とアセンブリ名。例えば: Sitecore.ExperienceForms.Tasks.FileStorageCleanup,Sitecore.ExperienceForms
方式
メソッドの名前。例えば: Execute
TaskSchedule項目は、タスクがいつ実行されるかを定義します。FileStorageCleanupスケジュール項目は、タスクの実行方法を定義し、次のフィールドを含みます。
畑
形容
命令
コマンドの名前。たとえば、Commands/Forms/FileStorageCleanupのようになります。
項目
コマンドメソッドの実行に渡す項目のリストを指定します。
計画
タスクのスケジュールを指定します。デフォルトでは、クリーンアップは24時間ごとに実行されます。 20190101|99990101|127|24:00:00
最後の実行
タスクの最終実行時間。デフォルトでは、Sitecoreはクリーンアップ タスクの完了後にLast Runフィールドを自動的に更新します。
非同期
タスクを非同期的に実行する場合に選択します。
自動削除
タスクの呼び出し後にスケジュールされたアイテムを自動的に削除する場合に選択します。