JSON 上传 Codeigniter 3 不允许您尝试上传的文件类型
JSON Upload Codeigniter 3 The filetype you are attempting to upload is not allowed
我正在尝试构建文件上传器以使用 Codeigniter 3.1.13 上传 JSON 文件。我使用 CI 文档构建了基本表单,但我不断收到错误消息“不允许您尝试上传的文件类型。”
我对文件做了 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'),
将我的评论作为答案:
检查您服务器的 MIME 类型,因为并非所有托管服务提供商
安装所有 mime 类型!
将 text/plain
添加到 application\config\mimes 中的 'json'。php:
'json' => array('application/json', 'text/json', 'text/plain'),
注意:添加 text/plain
通常也可以解决 *.csv mime 类型问题,因此对于其他应用程序请记住这一点
我正在尝试构建文件上传器以使用 Codeigniter 3.1.13 上传 JSON 文件。我使用 CI 文档构建了基本表单,但我不断收到错误消息“不允许您尝试上传的文件类型。”
我对文件做了 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'),
将我的评论作为答案:
检查您服务器的 MIME 类型,因为并非所有托管服务提供商 安装所有 mime 类型!
将
text/plain
添加到 application\config\mimes 中的 'json'。php:'json' => array('application/json', 'text/json', 'text/plain'),
注意:添加 text/plain
通常也可以解决 *.csv mime 类型问题,因此对于其他应用程序请记住这一点