1
我試圖在我的Web應用程序中使用User
模型的插件作爲Behavior
。我已經與我命名爲filename
配置中使用它,因爲我在這裏展示:CakePHP Uploader插件 - 通過行爲設置保存多個尺寸
<?php
class Avatar extends AppModel {
public $name = 'Avatar';
public $actsAs = array (
'Uploader.Attachment' => array (
'filename' => array (
'name' => 'setNameAsImgId',
'saveAsFilename' => true,
'uploadDir' => '/files/avatars/160/',
'dbColumn' => 'filename',
'defaultPath' => 'default.png',
'maxNameLength' => 20,
'overwrite' => true,
'stopSave' => true,
'allowEmpty' => false,
'transforms' => array (
array('method' => 'resize', 'width' => 160, 'height' => 160, 'dbColumn' => 'filename', 'append' => false, 'overwrite' => true)
)
)
)
);
// and so on...
?>
此配置文件保存到文件夾/files/avatars/160
,我把所有的160個像素的尺寸用這種方法圖像通過Users
控制器:
<?php
class UsersController extends AppController {
public function add() {
if ($this->User->Avatar->save($this->request->data)) {
// do some code...
}
}
在視圖add
我會插入此代碼上傳的文件:
echo $this->Form->input('Avatar.filename', array('type' => 'file', 'label'=>'Upload the avatar '));
這工作正常,如果我只保存一個配置名爲filename
在上面的例子中,我的問題是,我需要保存不同的大小和作物的相同圖像,所以我想保存一個像這樣的大小列表:
/files/avatars/160/filename.jpg
/files/avatars/48/filename.jpg
要做到這一點,我認爲其他的配置添加到我的Avatar
模型,這個
<?php
class Avatar extends AppModel {
public $name = 'Avatar';
public $actsAs = array (
'Uploader.Attachment' => array (
'filename' => array (
'name' => 'setNameAsImgId',
'saveAsFilename' => true,
'uploadDir' => '/files/avatars/160/',
'dbColumn' => 'filename',
'defaultPath' => 'default.png',
'maxNameLength' => 20,
'overwrite' => true,
'stopSave' => true,
'allowEmpty' => false,
'transforms' => array (
array('method' => 'resize', 'width' => 160, 'height' => 160, 'dbColumn' => 'filename', 'append' => false, 'overwrite' => true)
)
),
'small' => array (
'name' => 'setNameAsImgId',
'saveAsFilename' => true,
'uploadDir' => '/files/avatars/48/',
'dbColumn' => 'filename',
'defaultPath' => 'default.png',
'maxNameLength' => 20,
'overwrite' => true,
'stopSave' => true,
'allowEmpty' => false,
'transforms' => array (
array('method' => 'resize', 'width' => 48, 'height' => 48, 'dbColumn' => 'filename', 'append' => false, 'overwrite' => true)
)
)
)
);
// and so on...
?>
我應該怎樣建立UsersController
到同一圖像的多種作物保存Avatar
? 我是否也應該更改add
視圖以使其有效? 我不會在窗體中使用多個輸入文件。