как бороться с изображениями в Codeigniter

В Codeigniter с помощью ajax я добавляю запись в (продукты) и все работает нормально, поэтому я решил добавить поле (изображение), и по какой-то причине он больше не добавляет записи в базу данных

и я добавляю тип ввода = файл в мою форму

   <input type="file" name="image">

и я добавляю это в мой контроллер

   $image =    $this->input->post('image');


$data = array('title'=>$title,'description'=>$description,'price'=>$price,'quantity'=>$quantity,'image'=>$image);

но когда я удаляю $ image = $ this-> input-> post (‘image’); он снова начинает работать

на всякий случай это мой код ajax

  var postData = $(this).serialize();

$.ajax({
type:'post',
url: baseURL+"admin/Products/add_product",
data:postData,
dataType:'json',
success:function(data){



}


});

есть идеи как это решить?

-1

Решение

Надеюсь, что это поможет вам :

Ваш ajax должно быть так:

var formdata = new FormData();
$.ajax({
type: 'POST',
url: baseURL+"admin/Products/add_product",
data: formdata,
cache: false,
contentType: false,
processData: false,
success: function(response)
{
alert(response);
}
});

В контроллере доступ к изображению с помощью $_FILES супер переменная

public function add_product()
{
print_r($_FILES);
print_r($this->input->post());
exit;
}

Note : убедитесь, что URL-адрес указан правильно, см. вкладку сети, чтобы увидеть вывод

Для большего : https://www.formget.com/ajax-image-upload-php/

1

Другие решения

Может быть, вы можете использовать вместо baseURL

var formdata = new FormData();

$.ajax({
type: 'POST',
url: <?=base_url()?>+"admin/Products/add_product",
data: formdata,
cache: false,
contentType: false,
processData: false,
success: function(response)
{
alert(response);
}
});
0