Загрузить PDF на CodeIgniter 3.1.9 - PullRequest
0 голосов
/ 10 января 2019

Это говорит мне The filetype you are attempting to upload is not allowed.

$config['upload_path'] = './' . URL_FILES_ALUMNOS;
$config['allowed_types'] = 'gif|jpg|png|jpeg|pdf';
$config['file_name'] = uniqid();

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

Я читал в SO, что это может отсутствовать:

'pdf'   =>  array('application/pdf', 'application/force-download', 'application/x-download', 'binary/octet-stream')

Но не пропал.

Я не знаю, нужна ли еще одна часть кода, чтобы выяснить, что происходит

Спасибо

1 Ответ

0 голосов
/ 01 февраля 2019

Вы должны попробовать этот код. я надеюсь, что это сработает для вас

данные формы:

<div class="form-group">
     <label for="pdf1">File input</label>
     <input type="file" id="pdf1" name="pdf1">
</div>

AJAX CODE

 $(document).on('submit','#form_id',function(event){
            event.preventDefault();

            var pdf1= $('#pdf1').val().split('.').pop().toLowerCase();
            if(jQuery.inArray(pdf1, ['gif', 'png', 'jpg', 'jpeg','pdf']) == -1) 
            {
                alert("invalid File extention");
                $('#pdf1') . val('');
                return false;
            }

                $.ajax({
                    url: "<?php echo base_url();?>Home/upload_pdf",
                    method: 'POST',
                    data: new FormData(this),
                    contentType: false,
                    processData: false,
                    success: function(data)
                    {

                    }
                });
        });

ФУНКЦИЯ КОНТРОЛЛЕРА

function upload_pdf(){
 $id = $this->input->post('img_id');
    $content = array(

                    'text1' => $this->input->post('text1'),
                    'text2' => $this->input->post('text2'),
                    'img2' => $this->upload_pdf_function()
                );

    // insert this array here;
}
public function upload_pdf_function()
{
    if(isset($_FILES['img2']))
    {
        $pdf1= explode('.', $_FILES['pdf1']['name']);
        $new_name = rand().'.'.$pdf1[1];
        //$destination = '/vendor_images'.$new_name;
        move_uploaded_file($_FILES['pdf1']['tmp_name'], 'directory_name/folder_name/'.$new_name);
        return $new_name;
    }
}
...