2017-02-09 8 views
0

通常のアップロードイメージシステムを作成し、イメージをデータベースにアップロードしました。 divのassisgnedに自分自身を示したが、私はアヤックスとのイメージがここにイメージをデータベースに保存して、codeigniterでAJAXを使用して表示すると、ページがロードされた後にのみ表示されます

を提出表示するために使用することができますどのようアップロードされた画像を見るために、再度ページをリロードする必要があるが、それはだったエラーを発見したコード

<div id="timelineProfilePic"><?php 
{ 
    $image_properties = array('src'=> base_url("uploads/" . $image_file),'width' => '200px','height'=> '200px','id'=>'profilepic','rel' => 'lightbox'); 


    echo img($image_properties); 
    ?> 
    <div id="profilepicselector"> 
<?php echo form_open_multipart('',["id"=>"form_profile"]); ?> 

<input type="hidden" name="id" value="<?php echo $id ;?>" > 

<?php echo form_upload(["name"=>"imagefile"]); ?> 

<?php echo form_submit(["name"=>"submit","value"=>"Submit"]); ?> 

<?php echo form_close(); ?> 
</div> 
<?php 
} 
?></div> 

jQuery('#form_profile').submit(function(e){ 

     e.preventDefault(); 
     var formData = new FormData(this); 
     var url= '<?php echo base_url("user/do_upload"); ?>'; 
     formData.value 

     jQuery.ajax({ 

      type: "POST", 
      url:url, 
      data: formData, 
      cache: false, 
      contentType: false, 
      processData: false, 
      success: function(data) 
      { 

       $('#profilepic').attr('src',data); 
      }, 
      error: function(data){ 
      //error function 
      } 
     });    
    }); 

public function do_upload() 
    { 
     $config = [ 
       'upload_path' => './uploads', 
       'allowed_types' => 'jpg|gif|png|jpeg', 
       'max_size'   => 1100000000, 
       'max_width'   => 102400000, 
       'max_height'   => 76800000, 
       ]; 
     $this->load->library('upload', $config); 
     $this->upload->initialize($config); 
     if($this->upload->do_upload('imagefile')) 
     { 

      $post = $this->input->post(); 
      unset($post['submit']); 
      //print_r($post); 

      $upload_data = $this->upload->data(); 
      print_r($upload_data); 

      $file_name=$_FILES['imagefile']; 
      $this->load->model('Pmodel'); 
      $this->Pmodel->upload_model($post,$file_name); 




     $image_path_profile= base_url("uploads/".$upload_data['raw_name'].$upload_data['file_ext']); 
     } 
     else 
     { 
     $upload_error = $this->upload->display_errors(); 
     $this->load->view('dashboard/profile',compact('upload_error')); 
     } 
    } 
+0

共有にconsole.log(データ).... また、.... – Naincy

+0

私は(データ)はconsole.logを追加するとき、それはエラーを示してい –

+0

私は生データを共有する必要がありますか? –

答えて

0

です愚かな間違い。私は、このような最後にajaxをクリックすると変更されるように画像パスをエコーする必要があった

echo $ image_path_profile = base_url( "uploads /"。$ upload_data ['raw_name']。 file_ext ']);

アップロードすると同時に画像が返されます。あなたはビューをロードする理由はAJAX呼び出しで

お返事のためにありがとう

関連する問題