загрузка файла изображения в codeigniter с неопределенным предупреждением

#javascript #php #jquery #ajax #codeigniter

#javascript #php #jquery #ajax #codeigniter

Вопрос:

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

«Неперехваченная ошибка типа: $.AjaxFileUpload не является функцией» .

Вот мой html:

 <input type="file" name="userfile" class="file" id="userfile">
<div class="input-group col-xs-4">
  <span class="input-group-addon"><i class="glyphicon glyphicon-picture"></i></span>
  <input type="submit" name="submit" id="submit" />
  <span class="input-group-btn">
    <button class="browse btn btn-primary input-sm" type="button"><i class="glyphicon glyphicon-search"></i> Browse</button>
  </span>
</div>
  

а также вот мой скрипт. У меня есть два скрипта для моего openfiledialog и кнопка отправки загрузки:

 <script>
  $(document).on('click', '.browse', function() {
    var file = $(this).parent().parent().parent().find('.file');
    file.trigger('click');
  });
  $(document).on('change', '.file', function() {
    $(this).parent().find('.form-control').val($(this).val().replace(/C:\fakepath\/i, ''));
  });
</script>

<script>
  $(function() {
    $('#upload_file').submit(function(e) {
      e.preventDefault();
      $.ajaxFileUpload({
        url: '<?php echo site_url('
        manager / profile / upload_file ')?>',
        secureuri: false,
        fileElementId: 'userfile',
        dataType: 'json',
        success: function(data, status) {
          alert(data.msg);
        }
      });
      return false;
    });
  });
</script>
  

и вот мой контроллер для сохранения файла изображения в моей папке:

 public function upload_file() {
  $status = "";
  $file_element_name = 'userfile';

  if ($status != "error") {
    $config['upload_path'] = APPPATH . 'images/';
    $config['allowed_types'] = 'gif|jpg|png|doc|txt';
    $config['max_size'] = 1024 * 8;
    $config['encrypt_name'] = TRUE;

    $this->load->library('upload', $config);

    if (!$this->upload->do_upload($file_element_name)) {
      $status = 'error';
    } else {
      $data = $this->upload->data();

    }
    @unlink($_FILES[$file_element_name]);
  }
  echo json_encode(array('status' => $status));
}
  

Комментарии:

1. Может быть, причина, по которой у вас возникает такая ошибка, заключается в том, что вы забыли импортировать скрипт (плагин jquery) перед его использованием?

2. у меня уже есть плагин, сэр. вы имеете в виду скрипт src = jquery. у меня это уже есть. мой openfiledialog работает хорошо

3. $.ajaxFileUpload не является частью основной библиотеки jQuery… это имя стороннего плагина, и для его использования потребуется включить другой скрипт

4. ahwp .. можете ли вы указать плагин для загрузки, сэр?

5. никогда не видел этого сам, но вы должны увидеть, как это упоминается в руководстве, или можете использовать это имя в Google. Вокруг тысячи плагинов