0

尝试上传时出现以下错误:

“您尝试上传的文件类型不允许。”。

这是我为 .doc 制作的 mime:

'doc' => array('application/msword','application/doc','appl/text','application/vnd.msword','application/word','application/winword','application/vnd. ms-word','application/x-msw6','application/x-msword'),

正如你所看到的,我已经尝试通过添加更多的哑剧来弥补它。我不知道问题可能是什么......文件是.doc。请注意,上传 pdf 确实有效!我也在用mac。

这是我的代码:

$sntError = $this->uploadFile($id,'notes','doc|pdf|docx');

private function uploadFile ($id,$input,$extensions) {
 $this->load->library('upload');
 $config['allowed_types'] = $extensions;
 $config['upload_path'] = './upload/sermon/'. $input;
 $config['file_name'] = $input .'-'. $id;
 $config['max_size'] = '10000';
 $config['overwrite'] = true;
 $this->upload->initialize($config);
 $uploaded = $this->upload->do_upload($input);

 $errors = $this->upload->display_errors('<div class="error">', '</div>');

 if (!$errors && $uploaded) {
  $fileData = $this->upload->data();
  $this->saveSermonAttachments($id,$input,$fileData['file_name']);
 } else {
  return $errors;
 }
} 
4

3 回答 3

3

我做了 print_r($fileData); 找出 .doc file_type 是什么。它是“文本/纯文本”,所以我将它添加到我的 mimes.php 中,它解决了我的问题。

于 2012-05-02T17:21:50.787 回答
0

更改扩展名的顺序。

于 2012-08-23T12:48:34.863 回答
0

将此添加到 config---->mimes.php

            'doc'   =>  'application/msword',
            'docx'  =>  array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip'),
            'xlsx'  =>  array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'),
            'word'  =>  array('application/msword', 'application/octet-stream'),
于 2013-03-06T10:04:47.890 回答