У меня есть форма, и я хочу отправить данные без обновления страницы.И у меня есть один input type file
, я не могу загрузить файл, данные пусты.Это код my input type file
<input type="file" class="form-control custom-file-input" name="uploadFile" id="uploadFile">
А это мой код jQuery для отправки данных без обновления страницы:
var judul = $("input[name=judul]").val();
var lokasi = $("input[name=lokasi]").val();
var satuan_kerja = $("select[name=satuan_kerja]").val();
var mulai = $("input[name=mulai]").val();
var akhir = $("input[name=berakhir]").val();
var ruang_lingkup = $("select[name=scope]").val();
var kategori = $("select[name=kategori]").val();
var keterangan = $("textarea[name=keterangan]").val();
var lampiran = $("input[name=uploadFile]").val(); //this is my input file
var agenda_pimpinan = $("input[name=agenda_pimpinan]").val();
$.post("kalender/add_event", {
judul: judul,
lokasi: lokasi,
satuan_kerja: satuan_kerja,
mulai: mulai,
akhir: akhir,
ruang_lingkup: ruang_lingkup,
kategori: kategori,
keterangan: keterangan,
lampiran: lampiran,
agenda_pimpinan: agenda_pimpinan
}
Если я печатаю переменную lampiran ,значение C:\fakepath\image.jpg
.И это мой контроллер для отправки всех данных в базу данных:
public function add_event() {
// Our calendar data
$judul = $this->input->post('judul');
$lokasi = $this->input->post('lokasi');
$satuan_kerja = $this->input->post('satuan_kerja');
$waktu_mulai = $this->input->post('mulai');
$waktu_berakhir = $this->input->post('akhir');
$scope = $this->input->post('ruang_lingkup');
$kategori = $this->input->post('kategori');
$keterangan = $this->input->post('keterangan');
$agenda_pimpinan = $this->input->post('agenda_pimpinan');
if($agenda_pimpinan == "on") {
$agenda_pimpinan = 0;
}
else {
$agenda_pimpinan = 1;
}
// var_dump($agenda_pimpinan); die;
//upload file
$config['upload_path'] = 'uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = 100;
$config['max_width'] = 1024;
$config['max_height'] = 768;
$this->load->library('upload', $config);
$this->upload->initialize($config);
$this->upload->do_upload('lampiran');
$file = $this->upload->data();
$fileInfo = $file['file_name'];
// end upload file
$data = array(
'judul' => $judul,
'mulai' => $waktu_mulai,
'berakhir' => $waktu_berakhir,
'lokasi' => $lokasi,
'scope' => $scope,
'satuan_kerja' => $satuan_kerja,
'keterangan' => $keterangan,
'kategori' => $kategori,
'lampiran' => $fileInfo,
'tampilkan_agenda_pimpinan' => $agenda_pimpinan
);
// var_dump($data); die;
$datas = $this->KalenderModel->addEvent($data);
} //end function
Если я отправляю данные, столбец lampiran в моей базе данных все еще пуст, контроллер не может получить данные загрузкифайл.Как это исправить?