web-dev-qa-db-fra.com

Comment autoriser le téléchargement du fichier .json avec ASP.NET

Comment puis-je activer le téléchargement de fichiers * .json à partir d'un ancien site ASP.NET (IIS6, je suis amené à le croire)?

Je reçois une page 404 au lieu du fichier JSON.

Dois-je créer un fichier web.config? Qu'est-ce qu'il y a dedans?

122
Lea Hayes

Ajoutez le type MIME JSON à IIS 6. Suivez les instructions fournies à Configurer les types MIME de MSDN (IIS 6.0) .

  • Extension: . Json
  • Type MIME: application/json

N'oubliez pas de redémarrer IIS après le changement.

MISE À JOUR: Il existe des moyens simples de le faire sur IIS7 et les versions plus récentes. L'opérateur a spécifiquement demandé de l'aide pour IIS6, donc je laisse cette réponse telle quelle. Mais cette réponse génère toujours beaucoup de trafic, même si IIS6 est très ancien maintenant. J'espère que vous utilisez quelque chose de plus récent. Je voulais donc mentionner que si vous avez une version plus récente d'IIS7 ou une version plus récente, reportez-vous à la réponse de @ ProVega ci-dessous pour obtenir une solution plus simple pour ces versions plus récentes.

115
Jon Adams

Si vous souhaitez ajouter manuellement une assistance à votre site, vous pouvez simplement ajouter les éléments suivants à votre web.config dans la section system.webServer:

<staticContent>
    <mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>

Cela ajoutera une configuration "locale" sous IIS. Cela ne fonctionne pas dans IIS6, mais fonctionne dans IIS7 et plus récent.

207
ProVega

La solution est que vous devez ajouter le type d'extension de fichier json dans les types MIME

Méthode 1

Allez dans IIS, sélectionnez votre application et recherchez les types MIME

enter image description here

Cliquez sur Ajouter dans le panneau de droite

Extension de nom de fichier = .json

Type MIME = application/json

enter image description here

Après avoir ajouté . Json , tapez le type dans les types MIME , Redémarrez IIS et essayez d'accéder au fichier json


Méthode 2

Allez sur web.config de cette application et ajoutez-y ces lignes

 <system.webServer>
   <staticContent>
     <mimeMap fileExtension=".json" mimeType="application/json" />
   </staticContent>
 </system.webServer>
20
Kaushal Khamar

Lors de l'ajout de la prise en charge de mimetype (comme suggéré par @ProVega), il est également recommandé de supprimer le type avant de l'ajouter - afin d'éviter les erreurs inattendues lors du déploiement sur des serveurs où la prise en charge du type existe déjà, par exemple:

<staticContent>
    <remove fileExtension=".json" />
    <mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
11
Mark Cooper

Je viens d'avoir ce problème mais je devais trouver la configuration pour IIS Express afin que je puisse ajouter les types MIME. Pour moi, il se trouvait à l'adresse C:\Users\<username>\Documents\IISExpress\config\applicationhost.config et j'ai pu y ajouter la "carte mime" correcte.

5
longda
  1. Accédez à C:\Utilisateurs\nom d'utilisateur\Documents\IISExpress\config
  2. Ouvrez applicationhost.config avec Visual Studio ou votre éditeur de texte préféré.
  3. Recherchez le mot mimeMap, vous devriez en trouver beaucoup.
  4. Ajoutez la ligne suivante en haut de la liste:.
0
pratik godha