Обрезанное изображение зашифрованных данных не размещается в codeigniter на живом сервере. Зачем?

У меня есть ситуация, когда пользователь выбирает фотографию и обрезает ее. После обрезки закодированные данные успешно передаются на скрытый ввод, но при публикации моей формы данные изображения не публикуются. Отображается только пустая страница.

Тот же код работает нормально на локальном сервере. Но на живом сервере это случилось со мной.

Позвольте мне поделиться своим кодом. Пожалуйста, направьте меня туда, где я делаю неправильно.

$(".gambar").attr("src", "<?php echo base_url().'assets/img/users/defualt.jpg");
  var $uploadCrop,
  tempFilename,
  rawImg,
  imageId;
  function readFile(input) {
    if (input.files && input.files[0]) {
            var reader = new FileReader();
            reader.onload = function (e) {
        $('.upload-demo').addClass('ready');
        $('#cropImagePop').modal('show');
              rawImg = e.target.result;
            }
            reader.readAsDataURL(input.files[0]);
        }
        else {
          swal("Sorry - you're browser doesn't support the FileReader API");
      }
  }

  $uploadCrop = $('#upload-demo').croppie({
    viewport: {
      width: 150,
      height: 150,
      type: 'circle'
    },
    boundary: {
      width: 265,
      height: 265
    },
    enforceBoundary: false,
    enableExif: true,
    enableOrientation: true,
    orientation: 4,
  });
  $('#cropImagePop').on('shown.bs.modal', function(){
    $uploadCrop.croppie('bind', {
          url: rawImg
        }).then(function(){
        });
  });

  $('.item-img').on('change', function () { 
    imageId = $(this).data('id'); 
    tempFilename = $(this).val();
    $('#cancelCropBtn').data('id', imageId); 
    readFile(this); });
  $('#cropImageBtn').on('click', function (ev) {
    $uploadCrop.croppie('result', {
      type: 'canvas',
      format: 'jpeg',
      size: {width: 150, height: 150}
    }).then(function (resp) {
      $('#imageEncoder').val(resp);
      $('#item-img-output').attr('src', resp);
      $('#cropImagePop').modal('hide');
      $('#profile_form').submit();
    });
  });
<form action="<?= base_url().'userController/update_staff_picture' ?>" method="post" enctype="multipart/form-data" id="profile_form">
      <input type="hidden" name="imageEncoder" id="imageEncoder">
      <label class="cabinet center-block">
       <figure>
        <img src="" class="gambar img-responsive img-thumbnail img-circle" id="item-img-output" />
         <figcaption><i class="fa fa-camera"></i></figcaption>
       </figure>
       <input type="file" class="item-img file center-block" name="file_photo"/>
      </label>
    </form>

Пользовательский контроллер

public function update_staff_picture(){

        $data = $this->input->post('imageEncoder');

        echo "<pre>";
        print_r($data);
        exit();
        list($type, $data) = explode(';', $data);
        list(, $data)      = explode(',', $data);
        $data = base64_decode($data);
        $image_name = date('ymdgis').'.png';
        $req['image']=$image_name;


        file_put_contents('./assets/img/users/'.$image_name, $data);

        $this->db->set($req);
        $this->db->where('userID',$userID);
        $this->db->update('users');

        redirect(base_url().'staff-profile/'.$_POST['userID']);

}

0 ответов

Другие вопросы по тегам