ファイルを作成する

ファイルを作成する

ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。

Documents and Mediaライブラリでファイル(FileEntry エンティティ)を作成するには、 DLAppService インターフェイスの addFileEntry メソッドを使用する必要があります。 そのような方法は3つあり、ファイルの作成に使用されるデータ型によって異なります。 各メソッドをクリックすると、メソッドとそのパラメーターの詳細な説明が表示されます。

次の引数はオプションです。

  • sourceFileName:これは、アップロードされたファイルを追跡します。 そのファイルに拡張子がある場合、コンテンツタイプを推測します。
  • mimeType:デフォルトはバイナリストリームです。 省略すると、Documents and Mediaはファイル拡張子からタイプを推測しようとします。
  • description:ポータルに表示するファイルの説明。
  • changeLog:ファイルバージョンの説明。
  • および サイズInputStreamをとるメソッドでは、 is パラメーターに null を使用できます。 ただし、これを行う場合は、 サイズ パラメーターに 0 を使用する必要があります。

DLAppService メソッド addFileEntryを使用してファイルを作成するには、次の手順に従います。 これらの手順では、 InputStreamを含むメソッドを使用することに注意してください。

  1. DLAppServiceへの参照を取得します。

    @Reference
    private DLAppService _dlAppService;
    

    詳細については、入門チュートリアルの「サービスリファレンス 取得

」のセクションを参照してください。

2 addFileEntry メソッドの引数を設定するために必要なデータを取得します。 エンドユーザーから送信されたデータを使用してファイルを作成するのが一般的であるため、リクエストからデータを抽出できます。 この例では、 UploadPortletRequest および ParamUtilを使用してこれを行いますが、任意の方法でデータを取得できます。

   long repositoryId = ParamUtil.getLong(uploadPortletRequest, "repositoryId");
   long folderId = ParamUtil.getLong(uploadPortletRequest, "folderId");
   String sourceFileName = uploadPortletRequest.getFileName("file");
   String title = ParamUtil.getString(uploadPortletRequest, "title");
   String description = ParamUtil.getString(uploadPortletRequest, "description");
   String changeLog = ParamUtil.getString(uploadPortletRequest, "changeLog");
   boolean majorVersion = ParamUtil.getBoolean(uploadPortletRequest, "majorVersion");
  
   try (InputStream inputStream = uploadPortletRequest.getFileAsStream("file")) {
  
       String contentType = uploadPortletRequest.getContentType("file");
       long size = uploadPortletRequest.getSize("file");
  
       ServiceContext serviceContext = ServiceContextFactory.getInstance(
               DLFileEntry.class.getName(), uploadPortletRequest);
   }

リポジトリIDとフォルダIDの取得の詳細については、リポジトリとフォルダの指定に関する 入門チュートリアルの セクションを参照してください。 ServiceContext詳細については、チュートリアル ServiceContextについて参照してください。

3 前の手順のデータを使用して、サービス参照の addFileEntry メソッドを呼び出します。 この例は、前のステップのtry-with-resourcesステートメント内で実行することに注意してください。

   try (InputStream inputStream = uploadPortletRequest.getFileAsStream("file")) {
  
       ...
  
       FileEntry fileEntry = _dlAppService.addFileEntry(
                           repositoryId, folderId, sourceFileName, contentType, title, 
                           description, changeLog, inputStream, size, serviceContext);
   }

このメソッドは FileEntry オブジェクトを返します`この例では、後で使用するために変数に設定します。 ただし、これを行う必要はありません。

この例の完全なコードは、Liferay DXPの EditFileEntryMVCActionCommand` クラスの `updateFileEntry` メソッドにあります。 このクラスは、Documents and Media APIを使用して、Documents and Mediaアプリがサポートするほぼすべての `FileEntry` アクションを実装します。 また、この `updateFileEntry` メソッドと、残りの `EditFileEntryMVCActionCommand`には、Documents and Mediaアプリの特定のニーズに合う追加のロジックが含まれていることに注意してください。

関連トピック

ファイルを更新する

ファイルを削除する

フォルダーとファイルの移動

フォルダーを作成する

ファイルショートカットの作成

« ファイル、フォルダー、およびショートカットの作成フォルダーを作成する »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています