添付ファイルフィールド
添付ファイルフィールドは、インスタンスのドキュメントライブラリにファイルをアップロードするためのフィールドです。 アップロードされると、ファイルはエントリーの添付ファイルフィールドにリンクされ、各フィールドは一度に1つのファイルにのみリンクされます。 ファイルは、オブジェクト定義(CompanyやSiteなど)からその範囲を継承します。 添付後は、オブジェクトエントリーを表示して、ファイルをダウンロードしたり、項目から削除したりすることができます。 7.4 U45/GA45以降は、オブジェクトのアプリケーションページからもエントリーの添付ファイルをダウンロードできます。
アセットがオブジェクトのエントリーから削除されても、ドキュメントライブラリからは削除されません。
フィールド作成時に、Request Filesフィールドを使用して、ユーザーがオブジェクトのエントリーにファイルをアップロードする方法を決定することができます。
ユーザーのコンピュータから直接アップロード :ユーザーは、オペレーティングシステムのファイルセレクタを使用して、エントリにファイルをアップロードすることができます。 デフォルトでは、このメソッドは、添付ファイル項目用に自動生成されたプライベートフォルダにファイルを保存します。 このフォルダはLiferayのUIには表示されません。 ただし、 [Show Files in Documents and Media] を有効にすると、アップロードしたファイルはドキュメントとメディアのフォルダーに保存されます。 デフォルトでは、このフォルダはオブジェクト定義の名前を使用しますが、項目を設定する際に変更することができます。
ドキュメントとメディアのアイテムセレクターからアップロードまたは選択してください :ドキュメントとメディアにある既存のファイルから選択するか、アイテムセレクターを使用してファイルをアップロードすることができます。 アップロードされたファイルは、ドキュメントとメディアのルートフォルダに保存され、他のファイルと同様に管理することができます。
必要であれば、次のポータルプロパティをdl.show.hidden.mount.folders=true
サーバーに追加して、ドキュメントとメディアの非表示になっている添付ファイルフィールドフォルダを表示することが可能です。
添付ファイルフィールドを作成した後、以下の方法で設定することができます。
構成 | 説明 |
---|---|
受け付けるファイル拡張子 | ユーザーがフィールドにアップロードできるファイルの種類を決定するために、受け付けるファイル拡張子のリストを入力します。各拡張子はカンマで区切る必要があります。添付ファイルフィールドは、Documents and Media で受け入れられるすべてのファイル形式をサポートします。 |
最大ファイルサイズ | このフィールドで受け入れられる最大ファイルサイズを入力します。デフォルト値は100MBです。必要であれば、この値を0に設定して、サーバーのOverall Maximum Upload Request Sizeプロパティを使用することができます。 |
Storage Folder (for Show Files in Documents and Media) | Documents and Mediaでアップロードされたファイルが保存される場所を決定するためのフォルダー名を入力します。デフォルトでは、フォルダはオブジェクト定義の名前(例:/Employee 、/TimeOffRequest )を使用します。 |
APIでアタッチメントフィールドを使用する
ヘッドレスAPIを使ってオブジェクトエントリの添付ファイルフィールドに追加する前に、ファイルがLiferayに存在している必要があります。 ドキュメントライブラリAPI を使って、ファイルのアップロードとIDの取得を行います。
オブジェクトのAPIコールで、以下の構文でIDを渡します。 "[attachmentField]": [FileEntryId]
.
例
以下の例では、 timeOffRequest
という名前のオブジェクトにエントリーを追加しています。 IDが 12345
のファイルを、添付ファイルフィールド 文書
に追加します。
curl -X "POST" "http://localhost:8080/o/c/timeOffRequest?restrictFields=actions" \
-H 'Content-Type: application/json' \
-u '[email protected]:test' \
-d $'{
"document": 12345
}'