這近想要讓使用者上傳Scratch2 的檔案類型*.sb2,發現怎麼試都會出現
The filetype you are attempting to upload is not allowed
的錯誤,一開始以為是自己的問題,耗了不少時間。也不知道要怎麼解決?!
後來研究了原始碼和自行測試,找到了解決方法,未來解決未定義類型的檔案,也可以依此方法來解決。
設定上傳允許的類型 加入'sb', 'sb2'
$config['allow_upload_type'] = array('jpg', 'png', 'jpeg','sb2','sb'); $config['allowed_types'] = implode('|', $config['allow_upload_type']);
第2行allowed_types是系統所需要的格式,第1行是為了方便設定自行添加的,在讀入library時用設定檔建構
$upload_config['allowed_types']= $this->config->item('allowed_types'); $upload_config['file_ext_tolower'] = true; $this->load->library('upload',$upload_config);
修改 config/mimes.php 加入
'sb'=> array('application/x-scratch2','application/octet-stream','application/zip'), 'sb2'=> array('application/x-scratch2','application/octet-stream','application/zip'),
這樣就可以了