cakephp-2.4:应用jshelper ajax提交后不发送图像目录

时间:2014-10-30 07:09:29

标签: cakephp cakephp-2.4

这里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发送图像目录?

1 个答案:

答案 0 :(得分:0)

JS助手不支持文件上传,这需要使用“新”XHR2功能。

你可以扩展JS助手/引擎并添加对文件的支持,但是由于JS帮助程序是deprecated,我建议直接使用JavaScript。有很多例子展示了如何通过AJAX上传文件。

<强> How can I upload files asynchronously?