2017-06-20 32 views
0

我在codeigniter中收到错误“您没有选择要上传的文件”。不要做我做错了,这是我的代码。获取错误'您没有选择文件'codeigniter

查看

<form action="#" method="post" id="svf-form-4" enctype="multipart/form-data">   
    <div class="row clearfix"> 
     <div class="col-md-6 bottommargin-sm photograph_part"> 
      <label>Upload Your Photograph</label><br> 
      <input id="photograph" name="photograph" type="file" class="file"> 
     </div> 
    </div> 
    <button class='button button-rounded nomargin' id='scfbutton4' value='next'>Submit</button> 
</form> 

阿贾克斯:

$('#scfbutton4').click(function(e){ 
    $.post("<?php echo BASE_URL.'/startcf/save_form4';?>", $('#svf-form-4').serialize(),function(data){ 
     console.log(data); //Output: {a: {error: "<p>You did not select a file to upload.</p>"}} 
    } 
    e.preventDefault(); 
}); 

控制器

public function save_form4(){ 
    $config['upload_path']   = './uploads/photograph'; 
    $config['allowed_types']  = 'jpg|png|pdf'; 
    $config['max_size']    = 1024; 
    $this->load->library('upload', $config); 
    if($this->upload->do_upload('photograph')) 
    { 
     //$data = array('upload_data' => $this->upload->data()); 
     header('Content-Type: application/json'); 
     echo json_encode(array('a' => 1)); 
     return;  
    } 
    else{ 
     $error = array('error' => $this->upload->display_errors()); 
     header('Content-Type: application/json'); 
     echo json_encode(array('a' => $error)); 
     return; 
    } 
} 

可以找到我在做什么错了别人的帮助?

回答

2

试试这个代码:

序列化不工作时,上传文件,以便试试下面这个方法:

<script type="text/javascript"> 
function go_form(){ 
$.ajax({ 
type:'POST', 
url:'testing2.php',  
data:new FormData($('#svf-form-4')[0]), 
cache: false, 
contentType: false, 
processData: false, 
success:function(msg){ 

    $('#message').html(msg); 
} 
}); 
return false; 
} 
</script> 

表格提交此调用方法。

+0

你不能仅仅介绍像FormData这样的东西,完全没有解释它是什么,它做了什么,以及OP为什么要使用它。 –

+0

无论如何@ @ Shanil Soni的Magnus Eriksson问题已经解决了...... LOL –

+0

@HarshPanchal很好,我真的从中得到了帮助。 –

相关问题