这里cakephp图片上传工作正常,没有ajax.After使用ajax后,插入的数据没有图像目录。
这是我的型号代码
public function processCoverUpload($check = array()) {
if (!is_uploaded_file($check['product_image']['tmp_name'])) {
return FALSE;
}
if (!move_uploaded_file($check['product_image']['tmp_name'], WWW_ROOT . 'img' . DS . 'uploads' . DS . $check['product_image']['name'])) {
return FALSE;
}
$this->data[$this->alias]['product_image'] = 'uploads/'. $check['product_image']['name'];
return TRUE;
}
控制器
if ($this->request->is('post')) {
$this->MadProduct->create();
$data = $this->request->data['MadProduct'];
if (!$data['product_image']['name']) {
unset($data['product_image']);
}
if ($this->MadProduct->save($data)) {
$this->Session->setFlash(__('The mad product has been saved.'));
return $this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The mad product could not be saved. Please, try again.'));
}
}
这是视图文件字段
echo $this->Form->input('product_image',array('type' => 'file','label' => false,));
这是js提交按钮
<?php echo $this->Js->submit('Submit',array(
'before'=>$this->Js->get('#sending')->effect('fadeIn',array('speed' => 'slow')),
'success'=>$this->Js->get('#sending')->effect('fadeOut',array('speed' => 'slow')),
'class' => 'btn btn-danger',
'style'=>'width:45%;margin-top:1%;height:30px;')
);
?>
我将如何通过jshelper发送图像目录?
答案 0 :(得分:0)
JS助手不支持文件上传,这需要使用“新”XHR2功能。
你可以扩展JS助手/引擎并添加对文件的支持,但是由于JS帮助程序是deprecated,我建议直接使用JavaScript。有很多例子展示了如何通过AJAX上传文件。