GOOGLE ADS

пятница, 6 мая 2022 г.

JSON Upload Codeigniter 3 Тип файла, который вы пытаетесь загрузить, не разрешен

Я пытаюсь создать загрузчик файлов для загрузки файлов JSON с помощью Codeigniter 3.1.13. Я создал базовую форму, используя документацию 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'),

Решение проблемы

делая мои комментарии ответом:


  1. Проверьте типы mime вашего сервера, потому что не все хостинг-провайдеры устанавливают все типы mime!


  2. добавьте text/plainв свой 'json' в application\config\mimes.php:

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



примечание: добавление text/plainтакже часто решает проблемы с типом mime *.csv, поэтому имейте это в виду для других приложений.

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...