@lew
To upload files using AJAX in CodeIgniter, you can follow these steps:
Step 1: Create a form in your view file with an input field of type file for file upload and a button for submitting the form.
1 2 3 4 |
<form id="uploadForm" method="post" enctype="multipart/form-data"> <input type="file" name="file" id="file"> <button type="button" id="uploadButton">Upload File</button> </form> |
Step 2: Write an AJAX script to handle the file upload and update the form data.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<script type="text/javascript"> $(document).ready(function(){ $('#uploadButton').click(function(){ var form_data = new FormData(); var file_data = $('#file').prop('files')[0]; form_data.append('file', file_data); $.ajax({ url: '<?php echo base_url("uploadFile"); ?>', type: 'post', data: form_data, contentType: false, processData: false, success: function(response){ alert(response); } }); }); }); </script> |
Step 3: Create a controller method in CodeIgniter to handle the file upload.
1 2 3 4 5 6 7 8 9 10 11 12 |
public function uploadFile(){ $config['upload_path'] = './uploads/'; $config['allowed_types'] = 'gif|jpg|png|jpeg'; $this->load->library('upload', $config); if($this->upload->do_upload('file')){ echo 'File uploaded successfully'; }else{ echo 'File upload failed'; } } |
Step 4: Set up the routes in CodeIgniter to route the AJAX request to the controller method.
1
|
$route['uploadFile'] = 'YourController/uploadFile'; |
Now, when you select a file and click the "Upload File" button in the form, the file will be uploaded using AJAX in CodeIgniter.