#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. Вокруг тысячи плагинов