Загрузка .amr с помощью codeigniter

Я пытался загрузить .arm на веб-сайт, встроенный в codeigniter. Я знаю, что это не тип шахты по умолчанию, поэтому я добавил его следующим образом:

'amr'   =>  'audio/amr',

но он, кажется, не работает с этим. Я также добавил его в разрешенные типы. Любая идея, можно ли поддерживать amr, и если да, то что я могу делать неправильно?


person Josh York    schedule 25.05.2012    source источник


Ответы (1)


Вы можете попробовать просмотреть system/libraries/Upload.php строку 199:
$this->_file_mime_type($_FILES[$field]);
Измените эту строку на
$this->_file_mime_type($_FILES[$field]); var_dump($this->file_type); die();
Теперь вы повторите загрузку и посмотрите, какой фактический MIME-тип браузер отправил на ваш сервер.

Один глупый и небезопасный обходной путь, который я сделал, заключался в добавлении этого фактического типа mime в массив mime. Но это может измениться, если на этот вопрос будет дан ответ :)

person Rocco    schedule 25.05.2012
comment
Отличный ответ. Я сделал это, и он показал это как «application/octet-stream», поэтому я изменил его на «amr» => «application/octet-stream», и это сработало отлично. Это также помогло мне решить другую проблему, с которой я столкнулся, когда некоторые mp4 не загружались. Спасибо :) - person Josh York; 26.05.2012
comment
Я должен еще раз напомнить вам, что я не думаю, что этот обходной путь безопасен. - person Rocco; 26.05.2012