Téléchargement xls ou xlsx fichiers avec codeigniter, type mime erreur
Bien, je crois que ce n'est pas un Codeigniter problème soi que c'est plus un type mime.
Je suis en train de télécharger un fichier, un xls (ou xlsx) de fichier et le type mime le navigateur et le php rapport est application/octet-stream au lieu de application/excel, application/vnd.ms-excel ou application/msexcel pour un fichier xls. Bien sûr, codeigniter télécharger le plugin affiche un message d'erreur (type de fichier non valide) comme il essaie de faire correspondre l'extension de fichier dont le type mime.
L'étrange(heure de l'est) c'est peut-être que le même code a travaillé pendant des mois et maintenant arrêté de travailler avec le dernier Chrome (16.0.912.77), Firefox (10.0) et IE9.
Quelqu'un a eu le même (ou similaire) problème et de partager la solution?
Je vous remercie beaucoup.
PS: je ne fournis pas de code car il n'est pas vraiment un code d'importance, mais si nécessaire, je vais le télécharger quelques extraits.
MODIFIER
Elle pourrait être pertinente: l'erreur ne se produit pas avec les mêmes navigateurs sur une configuration similaire, mais avec MS Office à la place de Libre Office (sur mon pc). Il ne se passe pas sur une distribution GNU/Linux basée + Libre Office system. DONC, ça pourrait être Windows playin' dur sur la suite open source, ou le Libre Office de changer les types mime juste pour le fun?
OriginalL'auteur Mario Cesar | 2012-02-06
Vous devez vous connecter pour publier un commentaire.
J'obtiens cette erreur également.
CI est la déclaration d'un fichier de type "application/zip" qui est logique car le format xlsx est un format compressé (renommer zip et vous pouvez ouvrir la table des matières).
J'ai ajouté/remplacer la ligne suivante pour les types mime du fichier (application/config/mimes.php):
et qui fonctionne (pour ce navigateur au moins!)
Ouais, je pensais que au début, mais CI effectue une vérification de l'extension de fichier ET le type mime, donc si vous essayez de télécharger un fichier zip, parce que l'extension est zip et pas xlsx, il renvoie une erreur. J'ai également ajouté les lignes suivantes à la mimes.php fichier pour le travail que j'ai fait: 'slk' => 'text/plain', 'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.feuille','application/zip'), 'ods' => " application/octet-stream
que penser d'un fichier zip avec une extension xlsx (et non valide d'un fichier xlsx) ?
Néanmoins, votre approche est toujours mieux que pas de test à tous, donc je vais accepter votre réponse.
Ce n'est probablement pas liée à CI à tous. Je reçois $_FILES['file_browser']['type'] application/octet-stream quand j'ai téléchargé un .xlxs fichier à partir de la version 7 du navigateur. J'ai donc ajouté 'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.feuille','application/octet-stream") dans mon code allumeur mime du fichier
OriginalL'auteur Stevo
S'il vous plaît aller à travers la Description et l'indice et obtenir la Réponse facilement!
Description:
En fait, comme beaucoup de ceux qui ont conseillé d'ajouter/remplacer la ligne suivante dans le fichier (application/config/mimes.php):
Mais j'ai réalisé que dans CodeIgniter Version 2.2.* le problème est un peu différent!
Ils ont ajouté que la ligne déjà, mais il a oublié d'ajouter le suivant "file_type" ==> " application/vnd.ms-excel'
Ainsi, l'ajout de la ci-dessus " application/vnd.ms-excel' dans le tableau de xlsx type de fichier, permettez-moi de télécharger le .xlsx fichiers!
Astuce:
Chaque fois que vous obtenez l'erreur suivante, sur CodeIgniter Plate-forme, et le téléchargement des fichiers:
Effectuer les opérations suivantes dans votre Contrôleur de la méthode de téléchargement,
Et il vous donnera un énorme tableau qui vous pouvez avoir une idée de ce lien.(Reportez-vous à la fin de cette page). Dans ce tableau, vous pouvez obtenir ce qui est le réel mime_type du fichier que vous tentez de télécharger, mais de ne pas vous donner de télécharger.
Réponse:
Dans mon cas, mon extension de fichier a été, .xlsx , et le type mime est application/vnd.ms-excel , qui n'a pas été ajouté dans le
J'ai donc ajouté manuellement, et après qu'il fonctionne TRÉS BIEN!!!!!
Même chose s'est produite pour le téléchargement CSV encore une fois, quand j'ai vérifié l'extension de fichier est .csv mais le type mime est text/plain, quand je l'ai ajouté à la ligne suivante:
et enregistrés comme suit,
Il fonctionne comme un charme! 😀
Essayez, si vous trouvez quelque chose de nouveau dans les étapes ci-dessus, s'il vous plaît commentaire ici!!!
Donc, en espérant que ce sera utile à tous les CodeIgniter communauté, je l'ai posté en prenant un peu de temps!
Meilleur en ce qui Concerne les gars,
Randika
OriginalL'auteur Randika Vishman
Ce de l'IC bug il y a quelques mois: https://github.com/EllisLab/CodeIgniter/issues/394 . mimes.php dans le cadre a été mis à jour et le problème a été résolu. Mise à jour de votre CodeIgniter bibliothèque à la 2.1.0 (ou plus récent).
Aussi une bonne chose pour tester/dump sont à votre serveur de types mime.
Une autre alternative est de forcer le type mime. Avec .htaccess, ce serait
Pour l'ensemble de débogage de l'aventure, l'essai de divers fichiers office avec
get_mime_by_extension($file)
avec le Fichier d'Aide (http://codeigniter.com/user_guide/helpers/file_helper.html)Bien. Essayé le .htaccess approche. Rien. Je vais sans doute donner à cette question une de repos, tant que la demande est pour un usage interne pour un gros client, et ça fonctionne bien pour eux. De toute façon, j'aimerais trouver la cause de ce problème, si non, je vais accepter votre réponse. Il pourrait aider d'autres personnes.
OriginalL'auteur Seabass
Juste pour les enregistrements, j'ai trouvé la cause, type mime était manquant sur le registre de windows, résolu en ajoutant ces touches avec un .fichier reg:
Mais utilisez plutôt les solutions ci-dessus, je n'aime pas le désordre avec le registre.
OriginalL'auteur user2979425