ファイルのカスタムダウンロード例
Apex を使用して、ダウンロードが試行されたときのファイルの動作をカスタマイズできます。以下の例は、1 つのファイルがダウンロードされる場合を想定しています。ファイルのダウンロードのカスタマイズは、API バージョン 39.0 以降で使用できます。
例
この例では、ダウンロードで一部のユーザが IRM 制御を通過する必要があるシステムを示します。ファイルのダウンロードが許可され、ユーザ ID が 005xx のすべてのデータの編集 (MAD) ユーザの場合、次のようになります。
この例では、IRMControl は IRM システムからファイルをダウンロードするリンクを表示するために作成された Visualforce ページです。IRM システムをコールするこのページのコントローラが必要です。ファイルが処理されるとき、制御されている場合にファイルをダウンロードするエンドポイントが提供されます。IRM システムは、sObject API を使用してこの ContentVersion の VersionData を取得します。そのため、IRM システムは VersionID を必要とし、MAD ユーザを使用して VersionData を取得する必要があります。
IRM システムは http://irmsystem にあり、クエリパラメータとして VersionID を要求します。IRM システムは、downloadEndpoint 値にダウンロードエンドポイントが含まれた JSON 応答を返します。
例
次の例では、ContentDownloadHandlerFactory インターフェースを実装し、モバイルデバイスにファイルをダウンロードできないようにするダウンロードハンドラを返すクラスを作成します。
例
モバイルデバイスからファイルをダウンロードできないようにし、ファイルは IRM 制御を通過する必要があるようにすることもできます。