添付ファイルフィールド

添付ファイルフィールド

添付ファイルフィールドは、インスタンスのドキュメントライブラリにファイルをアップロードするためのフィールドです。 アップロードされると、ファイルはエントリーの添付ファイルフィールドにリンクされ、各フィールドは一度に1つのファイルにのみリンクされます。 ファイルは、オブジェクト定義(CompanyやSiteなど)からその範囲を継承します。 添付後は、オブジェクトエントリーを表示して、ファイルをダウンロードしたり、項目から削除したりすることができます。 7.4 U45/GA45以降は、オブジェクトのアプリケーションページからもエントリーの添付ファイルをダウンロードできます。

オブジェクトのエントリにファイルを添付します。

important

アセットがオブジェクトのエントリーから削除されても、ドキュメントライブラリからは削除されません。

フィールド作成時に、Request Filesフィールドを使用して、ユーザーがオブジェクトのエントリーにファイルをアップロードする方法を決定することができます。

ユーザーのコンピュータから直接アップロード :ユーザーは、オペレーティングシステムのファイルセレクタを使用して、エントリにファイルをアップロードすることができます。 デフォルトでは、このメソッドは、添付ファイル項目用に自動生成されたプライベートフォルダにファイルを保存します。 このフォルダはLiferayのUIには表示されません。 ただし、 [Show Files in Documents and Media] を有効にすると、アップロードしたファイルはドキュメントとメディアのフォルダーに保存されます。 デフォルトでは、このフォルダはオブジェクト定義の名前を使用しますが、項目を設定する際に変更することができます。

ドキュメントとメディアのアイテムセレクターからアップロードまたは選択してください :ドキュメントとメディアにある既存のファイルから選択するか、アイテムセレクターを使用してファイルをアップロードすることができます。 アップロードされたファイルは、ドキュメントとメディアのルートフォルダに保存され、他のファイルと同様に管理することができます。

[Request Files]項目は、ユーザーがオブジェクトエントリーにファイルを追加する方法を決定します。

note

必要であれば、次のポータルプロパティ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
}'

追加情報