2012-10-05 67 views
0

我试图通过ajax _call发送文件表单视图到服务器。 这里是我的形式:无法通过ajax调用发送文件

<form id="fileForm" name="fileForm" enctype="multipart/form-data"> 
     <div class="row" > 
     <div class="span8" > 
      <label><strong>Please attach a file</strong></label> 
      <input style="margin-bottom:0" type="file" name="attach" id="attach" /> 
      <button type="submit" class="btn btn-primary" onclick="do_upload()" ><i class="icon-camera icon-white"></i>Send</button> 
     </div> 
    </div> 
</form> 

这里是do_upload(在同一个文件):

​​ 公共/小时

最后(这是我的控制器),我有:

function do_upload() { 
    $config= array ('upload_path'=>'./uploads/','allowed_types'=>'pdf|gif|jpg|jpeg|docx', 'max_size'=>2048); 

    //loading upload 
    $this->load->library('upload', $config); 

    if (! $this->upload->do_upload('attach')) 
      { $data = array('error' => $this->upload->display_errors()); 
      var_dump($data); 
      exit; 

      } 
     else 
     { $data = array('upload_data' => $this->upload->data('attach')); 
      var_dump($data); 
      exit; 
     } 
     } 

这里是后续代码var_dump($数据)的结果:

array(1) { 
    ["error"]=> 
    string(43) "<p>You did not select a file to upload.</p>" 
} 

而且萤火显示了这个错误:

Form contains a file input, but is missing method=POST and enctype=multipart/form-data on the form. The file will not be sent. 

谁能帮帮我好吗?谢谢

+0

以及你的错误说你缺少'方法= POST'表单中的声明,有你尝试添加这个? –

+0

@mr_lewjam是的,我绑定添加这个,但我得到了同样的错误信息 – user1499220

回答

1

尝试类型=“按钮”或

<button type="submit" class="btn btn-primary" onclick="do_upload()" ><i class="icon-camera icon-white"></i>Send</button> 

它为我用<div class="btn btn-primary" onclick="do_upload()">..</div> ..