私がしたいことは、保存する前にコントローラーからアップロードモデルの$ actsAs配列の値( 'path')を変更することだけです。
私がその作業を考え出す唯一の方法は、動作をアンロードしてから、すべての設定をロードすることです。
これは、パスを変更するだけの過度のようです。より簡単で良い方法がありますか?
$this->loadModel('Upload');
$this->Upload->Behaviors->unload('Upload.Upload');
$this->Upload->Behaviors->load('Upload.Upload', array(
'photo' => array(
'thumbnailSizes' => array(
'xvga' => '1024x768',
'vga' => '640x480',
'thumb' => '80x80',
),
'thumbnailMethod' => 'php',
'thumbnailQuality' => '80',
'pathMethod'=>'random',
'path' => '{ROOT}webroot{DS}uploads{DS}test{DS}{field}{DS}',
'maxSize' => '5242880', //5MB
'mimetypes' => array('image/jpeg', 'image/png', 'image/gif', 'image/bmp'),
'extensions' => array('jpg', 'gif', 'png', 'bmp'),
),
));
if($this->Upload->save($this->request->data)) {
//...
面白い - その1は、おそらく負荷を使用する必要があります - あなたの質問を通じて、私は、添付()と私は常に非推奨しているように見える(またはBCのための少なくとものみ利用可能)を使用してきた()メソッドを切り離すことが判明()とunload()を実行します。 – mark