CodeIgniter“您没有选择要上传的文件。”

问题描述 投票:0回答:1

我是codeigniter和Ajax的新手,所以请耐心等待我。

我正在尝试一项学校作业,我们必须将文件上传到我们的服务器。我尝试按照说明操作但收到错误“您没有选择要上传的文件”。有谁可以帮助我吗?

这是我的javascript

function uploadFile(){        
    data = {};
    data['file']= document.getElementById('fileToUpload').files[0];
    $.ajax({
        url:'/admin/conference/presentation/changes/file',
        data: data,
        type: 'POST',
        contentType: false,
        processData: false,
        success: function(data){
            console.log(data);
        }
    });}

以下是CI的代码

    $config['upload_path'] = FCPATH.'./';
    $config['allowed_tyeps'] = '*';
    $this->load->library('upload', $config);
    if(!$this->upload->do_upload()){
        $upload_error = $this->upload->display_errors();
        echo $upload_error;
    }

我做错了什么?

ajax codeigniter
1个回答
0
投票

CodeIgniter可能需要多部分表单数据中的数据,这需要FormData对象。

function uploadFile(){        
    var data = new FormData;
    data.append('file', document.getElementById('fileToUpload').files[0]);
    $.ajax({
        url:'/admin/conference/presentation/changes/file',
        data: data,
        type: 'POST',
        contentType: false,
        processData: false,
        success: function(data){
            console.log(data);
        }
    });}

另外,在代码点火器中指定要上载的文件的名称

$this->upload->do_upload('file')
© www.soinside.com 2019 - 2024. All rights reserved.