用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3782|回复: 10
收起左侧

[HELP] 【求帮】看了论坛的解决方法仍然不行The filetype you are attempting t。。

[复制链接]
发表于 2012-2-13 15:03:16 | 显示全部楼层 |阅读模式
  $config['upload_path'] =FCPATH.'uploads/';//upload_path必须是本地路径,不是url
  $config['allowed_types'] = 'gif|jpg|jpeg|png|';
  $config['max_size'] = '100000';
  $config['max_width']  = '1024';
  $config['max_height']  = '1024';
  $this->load->library('upload', $config);
  
   if ( ! $this->upload->do_upload('upload'))//upload为名称
  {
   $error = array('error' => $this->upload->display_errors());
   print_r($error);
   //$this->load->view('upload_form', $error);
  }
我上传的明明是jpg和gif格式的图片啊??
发表于 2012-2-13 15:37:28 | 显示全部楼层
通过swfupload方式上传的文件的mime类型为application/octet-stream类型,所以会出错。
发表于 2012-2-13 19:20:05 | 显示全部楼层
是的,CI 不是看扩展名的,是看 mime 类型的。
 楼主| 发表于 2012-2-13 20:27:36 | 显示全部楼层
huboo82 发表于 2012-2-13 15:37
通过swfupload方式上传的文件的mime类型为application/octet-stream类型,所以会出错。 ...

那是要把这个$config['allowed_types'] = 'gif|jpg|jpeg|png|';改成mime类型吗???
发表于 2012-2-14 14:29:42 | 显示全部楼层
要改config目录里的mimes.php,在对应扩展名里添加上面的mime类型。
比如:'jpg'        =>        array('image/jpeg', 'image/pjpeg', 'application/octet-stream'),
发表于 2012-2-14 14:51:13 | 显示全部楼层
你 这么写  
       
                $config = array(
                        'allowed_types' => 'jpg|jpeg|gif|png',
                        'upload_path' => $this->upload_path,
                        'max_size' => 2000
                );
               
 楼主| 发表于 2012-2-15 00:10:40 | 显示全部楼层
huboo82 发表于 2012-2-14 14:29
要改config目录里的mimes.php,在对应扩展名里添加上面的mime类型。
比如:'jpg'        =>        array('image/jpeg', ' ...

                                'bmp'        =>        array('image/bmp', 'image/x-windows-bmp'),
                                'gif'        =>        'image/gif',
                                'jpeg'        =>        array('image/jpeg', 'image/pjpeg'),
                                'jpg'        =>        array('image/jpeg', 'image/pjpeg'),
                                'jpe'        =>        array('image/jpeg', 'image/pjpeg'),
                                'png'        =>        array('image/png',  'image/x-png'),

不是都有了么??我暂时不想看源码,应该怎么改?
 楼主| 发表于 2012-2-15 00:22:54 | 显示全部楼层
huboo82 发表于 2012-2-14 14:29
要改config目录里的mimes.php,在对应扩展名里添加上面的mime类型。
比如:'jpg'        =>        array('image/jpeg', ' ...

                'jpeg'        =>        array('image/jpeg', 'image/pjpeg','application/octet-stream'),
                                'jpg'        =>        array('image/jpeg', 'image/pjpeg','application/octet-stream'),
                                'jpe'        =>        array('image/jpeg', 'image/pjpeg','application/octet-stream'),
                                'png'        =>        array('image/png',  'image/x-png','application/octet-stream'),

我改成这样也不行喔?
发表于 2012-2-15 13:13:01 | 显示全部楼层
如果你是直接下载的lnmp安装包在linux系统下安装测试的,这样确实不行,只能改Upload.php,把ignore_mime = FALSE改成TRUE
 楼主| 发表于 2012-2-15 18:10:58 | 显示全部楼层
huboo82 发表于 2012-2-15 13:13
如果你是直接下载的lnmp安装包在linux系统下安装测试的,这样确实不行,只能改Upload.php,把ignore_mime = ...

这算是CI的上传类的缺陷么?

本版积分规则