0

products次の属性を持つテーブルを作成したアプリケーションを開発しています。

{id, image, warranty-image, created, modified}

miles johnson 4.3.1 uploader画像のアップロードに使用しています。というわけで以下のように書き$actsAsましたProduct model

public $actsAs = array(
    'Uploader.Attachment' => array(
        'image' => array(
            'overwrite' => true,
            'uploadDir' => 'img/products',
            'finalPath' => '',
            'dbColumn' => 'image',
            'transforms' => array(
                'imageLarge' => array(
                    'nameCallback' => 'transformNameCallback',
                    'method' => 'resize',
                    'prepend' => 'large_',
                    'width' => 750,
                    'height' => 100,
                    'aspect' => false
                )
        ),
        'warranty_image' => array(
            'overwrite' => true,
            'uploadDir' => 'img/products',
            'finalPath' => '',
            'dbColumn' => 'warranty_image',
            'transforms' => array(
                'warranty_imageSmall' => array(
                    'nameCallback' => 'transformNameCallback',
                    'method' => 'resize',
                    'prepend' => 'small_',
                    'width' => 150,
                    'height' => 96,
                    'aspect' => false
                )
            )
        )
    ),
    'Uploader.FileValidation' => array(
        'image' => array(
            'required' => true,
            'extension' => array('gif', 'jpg', 'png', 'jpeg'),
            'type' => array('image'),
            'minWidth' => 100,
            'minHeight' => 100,
            'filesize' => 5242880
        ),
        'warranty_image' => array(
            'required' => true,
            'extension' => array('gif', 'jpg', 'png', 'jpeg'),
            'type' => 'image',
            'minWidth' => 100,
            'minHeight' => 96,
            'filesize' => 5242880
        )
    )
);

public function transformNameCallback($name, $file) {
    return $this->getUploadedFile()->name();
}

では以下のようadd viewに書いfile inputsています。

echo $this->Form->create('Product', array('enctype' => 'multipart/form-data')); 
echo $this->Form->file('image');
echo $this->Form->file('warranty_image');
echo $this->Form->end();

このアップローダーimageは、画像のみをアップロードし、画像はアップロードしませんwarranty_image。解決策を得るために私を助けてください。仕事はもっと高く評価されるでしょう。

4

3 に答える 3

0

ビューで HTML の入力タグを使用するか、CakePHP フォーム ヘルパーの入力タグを使用します。

echo $this->Form->input('image', array('type' => 'file', 'required' => false, 'label' => 'Select the File to Upload'));
echo $this->Form->input('warranty_image', array('type' => 'file', 'required' => false, 'label' => 'Select the File to Upload'));
于 2014-01-11T06:52:22.063 に答える