JSON Upload Codeigniter 3不允许您尝试上载的文件类型

vfh0ocws  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(109)

我正在尝试构建一个文件上传程序,以使用Codeigniter 3.1.13上传JSON文件。我使用CI文档构建了基本表单,但我一直收到错误消息“The filetype you are attempting to upload is not allowed”。
我对该文件进行了var_dump,并检查了mimes.php中确实列出了该类型,所以我不确定我遗漏了什么!
下面是我的代码:

public function upload_data_file(){
        $this->load->helper(array('form', 'url'));

        $config['upload_path']          =$this->config->item('temp_path') . "fhmFieldData";
        $config['allowed_types']        = 'json';

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

        var_dump($_FILES);

        if ( ! $this->upload->do_upload('userfile')) {
                $error = array('error' => $this->upload->display_errors());
                $this->render($error,'fhm/enter_data');
        }
        else {
                $data = array('upload_data' => $this->upload->data());
                $this->render($data,'fhm/enter_data');
        }
    }

var_dump输出的内容如下:

'userfile' => 
    array (size=5)
      'name' => string 'FHMFieldData_v2022-1_VMC593.json' (length=32)
      'type' => string 'application/json' (length=16)
      'tmp_name' => string '/users/v/m/vmc/phptemp/upload/php846QNI' (length=39)
      'error' => int 0
      'size' => int 17572

我的mimes.php文件在第117行有这样的内容:

'json'  =>  array('application/json', 'text/json'),
relj7zay

relj7zay1#

让我的评论成为答案:
1.请检查服务器的MIME类型,因为并非所有主机提供商都安装所有MIME类型!
1.将text/plain添加到application\config\mimes.php中“json”中:
'json' => array('application/json', 'text/json', 'text/plain'),
注意:添加text/plain通常也可以解决 *.csv mime类型的问题,因此请记住其他应用程序

相关问题