2017-06-20 35 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很好,我真的從中得到了幫助。 –

相關問題