2012-05-02 5 views
0

que je reçois l'erreur suivante lorsque je tente de télécharger: «Le type de fichier que vous tentez de télécharger n'est pas autorisé »Codeigniter pas télécharger d'accepter les fichiers .doc

.

Voici mon mime pour .doc:

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

Comme vous pouvez le voir déjà essayé de compenser en ajoutant plus de mimes. Je n'ai aucune idée de ce que le problème peut être ... le fichier est .doc. Notez que le téléchargement de pdf fonctionne! J'utilise aussi un mac.

Voici mon code:

$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; 
} 
} 
+2

Si je ne me trompe pas, les données '()' renverront le contenu du fichier, même si le téléchargement se termine par erreur. Pouvez-vous vérifier le contenu des données et voir le [type_fichier]? –

+0

Merci mec. Cela m'a aidé à trouver le problème. Apparemment, le type de fichier était text/plain. Donc je viens d'ajouter cela aux mimes approuvés pour .doc. Merci. – Samir

Répondre

3

J'ai fait print_r (fileData $); pour savoir ce que le fichier .doc file_type était. C'était "text/plain", alors j'ai ajouté ça à mon mimes.php et ça a résolu mon problème.

0

Modifiez l'ordre des extensions.

0

Ajouter cette 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'), 
Questions connexes