当我选择图像并推送上传时,我在控制器中收到此错误: 注意(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);
}
答案 0 :(得分:1)
您确定它不会生成表单代码吗?如果没有,我认为你甚至不能尝试提交表格。我相信提交表单是因为你似乎发出了对/ garageCarImages / index的请求 - 对我而言,表示表单已正确生成。
如果确实是这种情况,您应该只将第一个参数的值更改为您希望代码执行的控制器的名称。对我来说,通常情况下,我使用附件控制器来执行此操作,因此我会说:
echo $form->create( 'Attachment', array(...) );
您的情况将取决于代码所处的位置以处理上传。很可能是ImageController(在这里猜测......),但我不确定你不知道你系统的更多细节。