Pour une utilisation dans un javascript ou pour enregistrer sur un hd?
Remy
Je veux y accéder via jQuery.ajax (url: ...
Lea Hayes
2
En ajoutant qu'une fois que l'IIS local a une liste, lors de votre prochain déploiement, il peut générer une erreur de serveur 500 à partir d'une liste en double, alors mettez-la en commentaire.
N'oubliez pas de redémarrer IIS après la modification.
MISE À JOUR: Il existe des moyens simples de le faire sur IIS7 et plus récent. L'op a spécifiquement demandé l'aide d'IIS6, je laisse donc cette réponse telle quelle. Mais cette réponse reçoit toujours beaucoup de trafic même si IIS6 est maintenant très ancien. J'espère que vous utilisez quelque chose de plus récent, donc je voulais mentionner que si vous avez un IIS7 plus récent ou une version plus récente, consultez la réponse de @ ProVega ci-dessous pour une solution plus simple pour ces versions plus récentes.
Bravo mais ceci est sur un pack d'hébergement partagé sans accès à autre chose que web.config ou fichier de code global
Lea Hayes
Si vous n'avez pas accès aux paramètres IIS 6.0 et que la prise en charge de votre fournisseur n'ajoutera pas le type MIME pour vous, vous devrez alors changer de fournisseur, ou vers des serveurs plus récents avec IIS 7.0 sur ce fournisseur s'ils le proposent, pour soutenir cela.
Jon Adams
1
Oui, ASP.Net peut transmettre le fichier via un gestionnaire ASPX ou même une simple page, mais vous ne pourrez pas utiliser le type de fichier .json dans l'URL car il ne transmettra pas cette demande à ASP.Net Durée. Il devra être quelque chose qui passe par le runtime ASPX. Si vous n'avez pas accès aux paramètres IIS, il devra s'agir de l'une des extensions existantes telles que .ASPX. Encore une fois, le passage à un serveur avec IIS7 offre beaucoup plus de solutions plus simples.
Jon Adams
1
Le redémarrage du pool d'applications devrait être suffisant (c'était dans mon cas), plutôt que de redémarrer complètement IIS.
kltft le
1
@kltft Vrai, un redémarrage d'apppool déclenchera la mise à jour, mais uniquement pour ce pool bien sûr. Ces étapes comprennent la modification du paramètre pour tout le monde, et les avoir dans un niveau de paramètres incohérent conduirait facilement à une confusion plus tard. Je recommande de redémarrer l'ensemble du processus iis pour la sécurité et la santé mentale. Mais à la rigueur, si tout le monde accepte les avantages / inconvénients, un redémarrage d'apppool pourrait fonctionner.
Jon Adams le
211
Si vous souhaitez ajouter manuellement le support à votre site, vous pouvez simplement ajouter ce qui suit à votre web.config dans la section system.webServer :
Mise à jour de votre réponse pour inclure le web.configchemin complet .
GFoley83
Life saver, merci :)
Gaurav123
1
Pour une raison quelconque, cela a gâché tout mon site - le CSS ne fonctionnait plus!
TheJeff
@TheJeff - cela m'est arrivé, mais c'est parce que j'ai ajouté deux staticContent mimeMap, un pour JSON (nécessaire) et un pour CSV (redondant, j'ai supposé que c'était nécessaire, mais l'applicationConfig IISExpress avait déjà CSV). Par conséquent, j'ai eu cette erreur à chaque fois que j'ai essayé d'accéder à un fichier statique: une Cannot add duplicate collection entry of type 'mimeMap' with unique key attribute 'fileExtension' set to '.csv' fois que j'ai supprimé le doublon, aucun problème.
The Red Pea
1
Cela résoudra le problème lors de l'exécution locale, mais faites attention lorsque vous appuyez sur live. Si mimeMap est déjà configuré globalement dans IIS, vous obtiendrez 500 erreurs. Dans ce cas, supprimez simplement cette pièce de votre web.config.
Evan
20
La solution est que vous devez ajouter un type d'extension de fichier json dans les types MIME
Méthode 1
Accédez à IIS, sélectionnez votre application et recherchez les types MIME
Cliquez sur Ajouter à partir du panneau de droite
Extension de nom de fichier = .json
Type MIME = application / json
Après avoir ajouté le type de fichier .json dans les types MIME , redémarrez IIS et essayez d'accéder au fichier json
Méthode 2
Accédez à web.config de cette application et ajoutez-y ces lignes
Lors de l'ajout de la prise en charge du type mimetype (comme suggéré par @ProVega), il est également recommandé de supprimer le type avant de l'ajouter - ceci afin d'éviter des erreurs inattendues lors du déploiement sur des serveurs où la prise en charge du type existe déjà, par exemple:
Lorsque vous n'ajoutez que le mimeMap, parfois il supprime vos styles css, donc, la bonne façon est de le supprimer d'abord, merci beaucoup
sgrysoft
Chemin d'accès au fichier de configuration dans le fichier IIS7 C:\Windows\System32\inetsrv\config: applicationHost.config
OO
5
J'ai juste eu ce problème mais j'ai dû trouver la configuration pour IIS Express afin que je puisse ajouter les types mime. Pour moi, il était situé à C:\Users\<username>\Documents\IISExpress\config\applicationhost.configet j'ai pu y ajouter la bonne "carte mime".
C'est peut-être pourquoi cela ne fonctionne pas pour moi via IIS Express. Malheureusement, ce n'est pas quelque chose que je voudrais avoir à configurer sur chaque machine de développement, il semble donc que je recommande de m'en tenir à l'extension .js pour les fichiers de configuration json.
@SimchaKhabinsky Pour moi, web.config ne suffisait pas.
Jean-Bernard Pellerin
3
Si le web.config ne suffit pas, vous devrez peut - être ajouter cette ligne avant le <mimeMap>nœud: <remove fileExtension=".json" />. Vous ne devriez pas avoir à toucher le fichier applicationhost.config (ou machine.config). Cela étant dit, la modification de ces fichiers peut être utile si vous créez fréquemment de nouveaux sites et ne souhaitez pas avoir à modifier le web.config pour chaque site. Cela peut fonctionner pour les environnements de développement, mais souvent vous ne pouvez pas toucher le fichier machine.config dans les environnements de production, donc je recommanderais toujours de faire le changement dans le web.config.
Réponses:
Ajoutez le type JSON MIME à IIS 6. Suivez les instructions de Configuration des types MIME de MSDN (IIS 6.0) .
N'oubliez pas de redémarrer IIS après la modification.
MISE À JOUR: Il existe des moyens simples de le faire sur IIS7 et plus récent. L'op a spécifiquement demandé l'aide d'IIS6, je laisse donc cette réponse telle quelle. Mais cette réponse reçoit toujours beaucoup de trafic même si IIS6 est maintenant très ancien. J'espère que vous utilisez quelque chose de plus récent, donc je voulais mentionner que si vous avez un IIS7 plus récent ou une version plus récente, consultez la réponse de @ ProVega ci-dessous pour une solution plus simple pour ces versions plus récentes.
la source
.ASPX
. Encore une fois, le passage à un serveur avec IIS7 offre beaucoup plus de solutions plus simples.Si vous souhaitez ajouter manuellement le support à votre site, vous pouvez simplement ajouter ce qui suit à votre web.config dans la section system.webServer :
Cela ajoutera une configuration "locale" sous IIS. Cela ne fonctionne pas dans IIS6, mais fonctionne dans IIS7 et plus récent.
la source
web.config
chemin complet .Cannot add duplicate collection entry of type 'mimeMap' with unique key attribute 'fileExtension' set to '.csv'
fois que j'ai supprimé le doublon, aucun problème.La solution est que vous devez ajouter un type d'extension de fichier json dans les types MIME
Méthode 1
Accédez à IIS, sélectionnez votre application et recherchez les types MIME
Cliquez sur Ajouter à partir du panneau de droite
Extension de nom de fichier = .json
Type MIME = application / json
Après avoir ajouté le type de fichier .json dans les types MIME , redémarrez IIS et essayez d'accéder au fichier json
Méthode 2
Accédez à web.config de cette application et ajoutez-y ces lignes
la source
Lors de l'ajout de la prise en charge du type mimetype (comme suggéré par @ProVega), il est également recommandé de supprimer le type avant de l'ajouter - ceci afin d'éviter des erreurs inattendues lors du déploiement sur des serveurs où la prise en charge du type existe déjà, par exemple:
la source
C:\Windows\System32\inetsrv\config
: applicationHost.configJ'ai juste eu ce problème mais j'ai dû trouver la configuration pour IIS Express afin que je puisse ajouter les types mime. Pour moi, il était situé à
C:\Users\<username>\Documents\IISExpress\config\applicationhost.config
et j'ai pu y ajouter la bonne "carte mime".la source
<mimeMap>
nœud:<remove fileExtension=".json" />
. Vous ne devriez pas avoir à toucher le fichier applicationhost.config (ou machine.config). Cela étant dit, la modification de ces fichiers peut être utile si vous créez fréquemment de nouveaux sites et ne souhaitez pas avoir à modifier le web.config pour chaque site. Cela peut fonctionner pour les environnements de développement, mais souvent vous ne pouvez pas toucher le fichier machine.config dans les environnements de production, donc je recommanderais toujours de faire le changement dans le web.config.remove
c'était la clé pour moila source