文件上传错误cakephp

时间:2010-01-11 22:50:28

标签: file cakephp forms upload indexing

当我选择图像并推送上传时,我在控制器中收到此错误: 注意(8):未定义索引:文件[APP / controllers / garage_car_images_controller.php,第22行]

我还注意到,下面显示的$ form->创建行不会在检查的html中生成表单代码。这非常奇怪。

任何想法如何解决这个问题?谢谢!

我的观看代码:

<div class="title_plate">
    <h1 id="title_plate_header">add image</h1>
</div>
<div id="overlay_content">
<?php
    echo $form->create('GarageCarImage', array('controller' => 'garage_car_images','action' => 'add', 'type' => 'file'));
    echo $form->file('File');
    echo $form->hidden('garage_car_id', array('value' => $this->params['pass'][0]));
    echo "<br><br>";
    echo "Make this image the default? " . $form->input('default', array('type' => 'select', 'label' => false, 'options' => array('0' => 'No', '1' => 'Yes')));
    echo "<br>";
    echo $form->submit('Upload');
    echo $form->end();
?>
</div>

我的控制器代码:

if (!empty($this->data) &&
             is_uploaded_file($this->data['GarageCarImage']['File']['tmp_name'])) {
            $fileData = fread(fopen($this->data['GarageCarImage']['File']['tmp_name'], "r"),
                                     $this->data['GarageCarImage']['File']['size']);

            $this->data['GarageCarImage']['type'] = $this->data['GarageCarImage']['File']['type'];
            $this->data['GarageCarImage']['user_id'] = $this->Auth->user('id');
            $this->GarageCarImage->save($this->data);
}

1 个答案:

答案 0 :(得分:1)

您确定它不会生成表单代码吗?如果没有,我认为你甚至不能尝试提交表格。我相信提交表单是因为你似乎发出了对/ garageCarImages / index的请求 - 对我而言,表示表单已正确生成。

如果确实是这种情况,您应该只将第一个参数的值更改为您希望代码执行的控制器的名称。对我来说,通常情况下,我使用附件控制器来执行此操作,因此我会说:

echo $form->create( 'Attachment', array(...) );

您的情况将取决于代码所处的位置以处理上传。很可能是ImageController(在这里猜测......),但我不确定你不知道你系统的更多细节。