@aaron_armstrong
Для загрузки картинок на сервер с помощью AJAX в CodeIgniter вы можете использовать библиотеку загрузки файлов CodeIgniter, которая предоставляет удобный интерфейс для загрузки файлов на сервер. Вот пример кода для загрузки картинки на сервер с помощью AJAX в CodeIgniter:
HTML код формы:
1 2 3 4 5 |
<form id="upload-form" method="post" enctype="multipart/form-data"> <input type="file" name="userfile" id="userfile"> <button type="submit" id="upload-btn">Загрузить</button> </form> <div id="upload-result"></div> |
JavaScript код для отправки AJAX запроса на сервер:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$(document).ready(function() { $('#upload-form').submit(function(e) { e.preventDefault(); var formData = new FormData(this); $.ajax({ url: '/upload/image', type: 'POST', data: formData, cache: false, contentType: false, processData: false, success: function(data) { $('#upload-result').html(data); }, error: function(xhr, status, error) { alert('Ошибка при загрузке файла'); } }); }); }); |
Код контроллера для загрузки картинки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
public function image() { $config['upload_path'] = './uploads/'; $config['allowed_types'] = 'gif|jpg|png'; $config['max_size'] = 1024; $config['max_width'] = 1024; $config['max_height'] = 768; $this->load->library('upload', $config); if (!$this->upload->do_upload('userfile')) { $error = array('error' => $this->upload->display_errors()); echo json_encode($error); } else { $data = array('upload_data' => $this->upload->data()); echo json_encode($data); } } |
Обратите внимание, что в контроллере мы проверяем, успешно ли загрузился файл. Если произошла ошибка, мы отправляем сообщение об ошибке на клиент. Если загрузка прошла успешно, мы отправляем данные о загруженном файле на клиент.
Также не забудьте настроить права доступа к директории для загрузки файлов.