Pickles 2

file フィールド

ファイルの入力欄を作成します。セットされたファイルのパスを返します。

image フィールドと似ていますが、 file フィールドは画像以外のファイルも扱います。

例として、ファイルをダウンロードするリンクを設置したい場合などに利用します。

Broccoli v0.4.5 で追加されました。

モジュール実装例

{
    "interface": {
        "fields": {
            "filefieldsample": {
                "fieldType": "input",
                "type": "file",
                "label": "ファイル",
                "filenameAutoSetter": "ifEmpty",
                "validate":[
                    "required",
                    "min-filesize:80000",
                    "max-filesize:100000"
                ]
            }
        }
    }
}

file フィールドは、 セットされたファイルのパスを出力します。

<!-- template.html.twig の実装例 -->
<a href="{{ filefieldsample }}" download="filename.zip">ダウンロード</a>

filenameAutoSetter オプションは、画像ファイル名の自動設定の動作を設定します。 次の値のいずれかを設定できます。

ifEmpty (デフォルト)
画像ファイル名が未入力だった場合に限り、選択したファイル名から自動的に取得します。
always
画像ファイルを選択しなおすたびに、選択したファイル名から自動的に取得します。
random
選んだ画像名に関わらず、自動的にランダムなファイル名を設定します。

旧Broccoli標準記法での実装例

<a href="{&{"input":{
    "type": "file",
    "name": "filefieldsample",
    "label": "画像",
    "filenameAutoSetter": "ifEmpty",
    "validate":[
        "required",
        "min-filesize:80000",
        "max-filesize:100000"
    ]
}}&}" download="filename.zip">ダウンロード</a>

データ型

{
    "resKey": "(リソースキー)",
    "path": "./index_files/resources/resource-name.zip",
    "resType": "",
    "webUrl": ""
}

file フィールドは resourceMgr にファイルリソースを1つ登録します。 resourceMgr が発行したリソースのキーが resKey に格納されます。

resType には、次のいずれかの値が入ります。

(空白)
ファイルを登録する場合の値です。
web
ウェブ上のファイルURLを登録する場合の値です。

resTypeweb のとき、 webUrl にそのURLがセットされます。 webUrlhttp://https:// から始まるウェブアドレスや、 /common/images/sample.zip のような絶対パス、および ./xxx_files/sample.zip のような相対パスがセットされる場合があります。

バリデーション

required

ファイルの登録を必須とします。

min-filesize:value

最大のファイルサイズを指定します。

max-filesize:value

最大のファイルサイズを指定します。