---
title: ファイルの項目でファイル容量をレスポンスに追加するにはどうしたら良いですか？
description: 後処理の出力変換リストを使う方法と、後処理にカスタム処理を設定する方法があります。以下を参考に設定してください。
category: howto
---

import StructuredDataFaqs from '@site/src/components/StructuredDataFaqs';

<StructuredDataFaqs faqs={[
    { question: "ファイルの項目でファイル容量をレスポンスに追加するにはどうしたら良いですか？", answer: "後処理の出力変換リストを使う方法と、後処理にカスタム処理を設定する方法があります。" }
]} />

後処理の出力変換リストを使う方法と、後処理にカスタム処理を設定する方法があります。
以下を参考に設定してください。

## 出力変換リストを使う方法
### エンドポイントの後処理に設定

Topics::listのエンドポイントの後処理に以下の設定を追加します。

:::info
以下の設定はファイルの項目に`files`のslugを設定しているTopics::listのエンドポイントを前提として書いています。  
ご自身の設定に合わせて調整ください。
:::

|項目|設定|
|:--|:--|
|実行内容|出力変換リスト|
|操作|コピーする|
|項目|list.files.url|
|新しい項目|file_size|
|処理|FileSize|

![Image from Gyazo](https://t.gyazo.com/teams/diverta/ed8e7719adf2f6ec657304078a407de2.png)

## カスタム処理を設定する方法

対象のファイルサイズを取得してレスポンスに追加するカスタム処理を作成し、エンドポイントの後処理に設定します。  
ファイルサイズの取得には[rcms_file_size](/ja/docs/reference/smarty-plugin/#rcms_file_size)のSmartyプラグインを利用します。

### カスタム処理を作成
[カスタム処理編集](/ja/docs/management/function/#カスタム処理編集)の画面から以下のコードを設定したカスタム処理を作成します。  

:::info
以下のコードはファイルの項目に`files`のslugを設定しているTopics::listのエンドポイントを前提として書いています。  
ご自身の設定に合わせて調整ください。
:::

```smarty
{foreach from=$json.list key=key item=details}
    {if isset($details.files) && $details.files.url_org}
        {assign var='file_url' value=$details.files.url_org}
        {assign var='file_size' value=$file_url|rcms_file_size}
        {assign_array_set var="json.list.$key.files" key="file_size" value=$file_size from=$json.list.$key.files}
    {/if}
{/foreach}

{assign var='processed_json' value=$json}
```

### エンドポイントの後処理に設定
追加したカスタム処理を対象のエンドポイントの後処理に設定します。  

![Image from Gyazo](https://t.gyazo.com/teams/diverta/7ae64572297de51fecf993718d690f0e.png)

## 動作確認
エンドポイントのレスポンスをSwagger UIで確認すると、以下のように、`files`の項目に`file_size`のレスポンスが追加されていることが分かります。  

![Image from Gyazo](https://t.gyazo.com/teams/diverta/b531aec64f4327fcaf218fde298c3ba9.png)

:::caution
「ファイル(GCSにアップロード)」「ファイル(S3にアップロード)」の項目には対応しておりませんのでご注意ください。
:::

## 関連ドキュメント
- [後処理](/ja/docs/reference/post-processing/)
- [Smartyプラグイン](/ja/docs/reference/smarty-plugin/)