CakePHP3で画像登録しようとしたら怒られた。
久しぶりの更新を。
何かしていたかと言われたら特に何もしていないのですが、7月から新しい職場で働くことになったりしました。
となると、このブログのタイトルもどうなんだろうと思うのですが、それはそれということにしておきます。
今回は恥ずかしいネタです。
・やりたかったこと
フォームにfile属性で画像を指定してバイナリデータで保存したい
・発生したこと
Unexpected field 〜
Missing field 〜
と怒られた
前にもこんなことがあったなと10分ぐらい悩んでいたんですが、CSRFが有効になってる時のアレでした。
原因はフォームの書き方です。パラメータが足りなかったので怒られていました。
CSRF有効にしているのでフォームヘルパーで書くところまではよかったのですが。
こんな時は以下のパラメータが多分抜けているので追加すればOKです。
<?php <?php echo $this->Form->create(null, [ 'type' => 'post', 'enctype' => 'multipart/form-data', // 多分これがない 'url' => [ 'controller' => 'users', 'action' => 'exec' ] ]); ?> // フォームを形成する要素などなど <?php echo $this->Form->end(); ?>
CSRFを解除する前に確認するといいんじゃないかと思います。