Progress28.ru

IT Новости
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Content type excel

Загружать файлы xls или xlsx с помощью codeigniter, mime-type error

Ну, я считаю, что это не проблема Codeigniter как таковая, поскольку это скорее тип mime .

Я пытаюсь загрузить файл, файл xls (или xlsx), а mime-тип – браузер, а отчет php – это приложение / октет-поток вместо приложения / excel , application / vnd.ms-excel или application / msexcel для файла xls. Разумеется, модуль плагина codeigniter сообщит об ошибке (недопустимый тип файла), поскольку он пытается сопоставить расширение файла с типом mime.

Странным (est) может быть то, что тот же самый код работал месяцами и теперь перестал работать с последними браузерами Chrome (16.0.912.77), Firefox (10.0) и IE9.

У кого-то была такая же (или аналогичная) проблема и помощь в решении проблемы?

Большое спасибо. PS: Я не буду предоставлять код, так как это не вопрос кода, но при необходимости я загружу некоторые фрагменты.

РЕДАКТИРОВАТЬ

Это может иметь значение: ошибка не возникает с теми же браузерами в аналогичной конфигурации, но с MS Office вместо Libre Office (на моем компьютере). Это не происходит в системе на базе Linux + Libre. SO, может ли это быть Windows-играми в комплекте с открытым исходным кодом, или Libre Office меняет типы mime только для этого?

Я тоже получаю эту ошибку.

CI сообщает о типе файла «application / zip», который имеет смысл, так как формат xlsx является сжатым форматом (переименуйте его в zip, и вы можете открыть его содержимое).

Я добавил / заменил следующую строку в файл типов mime (application / config / mimes.php):

и это работает (для этого браузера хотя бы!)

Пожалуйста, ознакомьтесь со следующим описанием и подсказкой и получите ответ легко!

Читать еще:  Пропала двусторонняя печать в word 2020

Описание:

Фактически, многие из них рекомендовали добавить / заменить следующую строку в файле (application / config / mimes.php):

Но я понял, что в CodeIgniter Version 2.2. * Проблема немного другая! Они уже добавили эту строку, но забыли добавить следующий «file_type» ==> ‘application / vnd.ms-excel’

Поэтому добавив вышеприведенное «application / vnd.ms-excel» в массив типа xlsx , позвольте мне загрузить файлы .xlsx !

Подсказка:

Всякий раз, когда вы получаете следующую ошибку, на платформе CodeIgniter и загружаете файлы:

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

Сделайте следующее в методе загрузки вашего контроллера,

И это даст вам огромный массив, который вы можете получить по этой ссылке . (Пожалуйста, посмотрите на конец этой страницы). В этом массиве вы можете получить то, что является реальным mime_type файла, который вы пытаетесь загрузить, но не позволяете загружать.

Ответ:

В моем случае расширение файла было .xlsx , а типом mime было application / vnd.ms-excel , которое не было добавлено в

Поэтому я добавил его вручную, и после этого он работает VERRY WELL .

То же самое случилось с загрузкой CSV еще раз, когда я проверил расширение файла .csv, но тип mime был text / plain , когда я добавил его в следующую строку:

и сохраняется следующим образом,

Отлично работает! : D Попробуйте, если вы найдете что-то новое в вышеуказанных шагах, прокомментируйте здесь . Поэтому, надеясь, что это будет полезно для всего сообщества CodeIgniter, я отправил его на некоторое время!

С наилучшими пожеланиями, ребята,

Это было ошибкой CI несколько месяцев назад: https://github.com/EllisLab/CodeIgniter/issues/394 . mimes.php в рамках был обновлен, и ошибка была решена. Обновите библиотеку CodeIgniter до версии 2.1.0 (или новее).

Также хорошей проверкой / дампом является ваш тип mime сервера.

Читать еще:  Создание и редактирование документов в word

Другой альтернативой является принудительный тип mime. С .htaccess это будет

Для целого отладочного приключения протестируйте различные офисные файлы с помощью get_mime_by_extension($file) с помощью File Helper (http://codeigniter.com/user_guide/helpers/file_helper.html)

Только для записей, я нашел причину, mime-type отсутствовал в реестре Windows, решил добавить эти ключи с REG-файлом:

Но предпочел бы использовать вышеприведенные решения, мне не нравится возиться с реестром.

Ссылка на основную публикацию
Adblock
detector