Как загрузить файл, используя jQuery метод $ .post и Codeigniter? - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть форма, и я хочу отправить данные без обновления страницы.И у меня есть один 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 в моей базе данных все еще пуст, контроллер не может получить данные загрузкифайл.Как это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...