2011-12-13 3 views
0

Je crée un formulaire de téléchargement en utilisant CodeIgniter et je voudrais télécharger un fichier en clair avec une extension .out. Dans mon contrôleur j'ai mis les options suivantes:Comment ajouter un type mime personnalisé à CodeIgniter?

// Set upload variables 
$uploadConfig['upload_path'] = 'uploads/temp/'; 
$uploadConfig['allowed_types'] = 'out|txt'; 
$uploadConfig['max_size'] = '1024'; 

$this->load->library('upload', $uploadConfig); 

Dans le fichier de configuration mimes.php, je donne les résultats suivants:

'text' => 'text/plain', 
'out' => 'text/plain', 

Et dans mon fichier httpd.conf sur mon serveur, je avons ajouté la ligne:

AddType text/plain .out 

whenver J'essaie de télécharger un fichier .out, je reçois le message d'erreur The filetype you are attempting to upload is not allowed. un fichier identique à un upload d'extension txt très bien.

Avez-vous des idées sur la façon de faire fonctionner ce type mime personnalisé avec CI? Merci!

Répondre

1

Cela semble devoir fonctionner. La classe Upload explose juste la chaîne 'allowed_types' au séparateur de tuyaux, puis vérifie si l'extension du fichier est dans le tableau.

Cela fonctionne-t-il si vous utilisez '*' comme paramètre de configuration allowed_types?

+0

Oui, c'est le cas! Bon, c'est bien. Des réflexions sur pourquoi spécifier les allowed_types est problématique? –

+1

J'ai été capable de résoudre ce problème en réglant le type mime de ''out'' sur' array (' text/plain ',' application/octet-stream ') 'au lieu de simplement' 'text/plain''. Je suppose que cela a à voir avec le navigateur ne connaissant pas le type mime du fichier .out et en utilisant simplement application/octet-stream. –

Questions connexes