¿Para usar en un javascript o para guardar en un hd?
Remy
Quiero acceder a través de jQuery.ajax (url: ...
Lea Hayes
2
Agregando que después de que el IIS local tenga una lista, en su próxima implementación puede arrojar un error de 500 servidores de una lista duplicada, así que coméntelo.
ACTUALIZACIÓN: Hay formas fáciles de hacer esto en IIS7 y versiones posteriores. La operación solicitó específicamente la ayuda de IIS6, así que dejo esta respuesta tal como está. Pero esta respuesta sigue recibiendo mucho tráfico a pesar de que IIS6 es muy antiguo ahora. Espero que esté usando algo más nuevo, por lo que quería mencionar que si tiene una versión más nueva de IIS7 o más nueva, consulte la respuesta de @ ProVega a continuación para obtener una solución más simple para esas versiones más nuevas.
Saludos, pero esto está en un paquete de alojamiento compartido sin acceso a nada que no sea web.config o archivo de código global
Lea Hayes
Si no tiene acceso a la configuración de IIS 6.0, y el soporte de su proveedor no agregará el tipo MIME por usted, entonces tendrá que cambiar de proveedor, o a servidores más nuevos con IIS 7.0 en ese proveedor si lo ofrecen, a Apoya esto.
Jon Adams
1
Sí, ASP.Net puede pasar el archivo a través de un controlador ASPX o incluso una página simple, pero no podrá usar el tipo de archivo .json en la URL, ya que no pasará esa solicitud a ASP.Net tiempo de ejecución Tendrá que ser algo que pase por el tiempo de ejecución ASPX. Si no tiene acceso a la configuración de IIS, tendrá que ser una de las extensiones existentes como .ASPX. Nuevamente, cambiar a un servidor con IIS7 ofrece muchas más y más fáciles soluciones.
Jon Adams
1
Reiniciar el grupo de aplicaciones debería ser suficiente (en mi caso), en lugar de reiniciar IIS por completo.
kltft
1
@kltft True, un reinicio del grupo de aplicaciones activará la actualización, pero solo para ese grupo, por supuesto. Estos pasos incluyen cambiar la configuración para todos, y tenerlos en un nivel inconsistente de configuración fácilmente conduciría a la confusión más adelante. Recomiendo reiniciar todo el proceso de iis por seguridad y cordura. Pero en caso de apuro, si todos están de acuerdo con los pros / contras, un reinicio del grupo de aplicaciones podría funcionar.
Jon Adams
211
Si desea agregar soporte manualmente a su sitio, puede agregar lo siguiente a su web.config en la sección system.webServer :
Actualizó su respuesta para incluir la web.configruta completa .
GFoley83
Salvavidas, gracias :)
Gaurav123
1
Por alguna razón, esto arruinó todo mi sitio: ¡css ya no funcionaba!
TheJeff
@TheJeff: eso me sucedió a mí, pero es porque agregué dos staticContent mimeMap, uno para JSON (necesario) y otro para CSV (redundante, supuse que era necesario, pero la aplicación IISExpress applicationConfig ya tenía CSV). Por lo tanto, recibí este error cada vez que intenté acceder a cualquier archivo estático: una Cannot add duplicate collection entry of type 'mimeMap' with unique key attribute 'fileExtension' set to '.csv' vez que eliminé el duplicado, no hay problema.
The Red Pea
1
Esto solucionará el problema cuando se ejecute localmente, pero preste atención al presionar en vivo. Si el mimeMap ya está configurado globalmente en IIS, obtendrá 500 errores. Simplemente elimine esta pieza de su web.config en ese caso.
Evan
20
La solución es que necesita agregar el tipo de extensión de archivo json en Tipos MIME
Método 1
Vaya a IIS, seleccione su aplicación y encuentre tipos MIME
Haga clic en Agregar desde el panel derecho
Extensión de nombre de archivo = .json
Tipo MIME = aplicación / json
Después de agregar el tipo de archivo .json en Tipos MIME , reinicie IIS e intente acceder al archivo json
Método 2
Vaya a web.config de esa aplicación y agregue estas líneas en ella
Al agregar soporte para mimetype (como lo sugiere @ProVega), también es una buena práctica eliminar el tipo antes de agregarlo; esto es para evitar errores inesperados al implementar en servidores donde ya existe soporte para el tipo, por ejemplo:
Cuando agrega solo el mimeMap, a veces elimina sus estilos CSS, por lo tanto, la forma correcta es eliminarlo primero, muchas gracias
sgrysoft
Ruta al archivo de configuración en el C:\Windows\System32\inetsrv\configarchivo IIS7 : applicationHost.config
OO
5
Acabo de tener este problema, pero tuve que encontrar la configuración para IIS Express para poder agregar los tipos MIME. Para mí, estaba ubicado en C:\Users\<username>\Documents\IISExpress\config\applicationhost.configy pude agregar el "mapa mimo" correcto allí.
Esta puede ser la razón por la que no funciona para mí a través de IIS Express. Desafortunadamente, esto no es algo que me gustaría tener que configurar en cada máquina de desarrollo, por lo que parece que recomendaré seguir con la extensión .js para los archivos de configuración json.
@SimchaKhabinsky Para mí el web.config no fue suficiente.
Jean-Bernard Pellerin
3
Si el web.config no es suficiente, puede que tenga que añadir esta línea antes de que el <mimeMap>nodo: <remove fileExtension=".json" />. No debería tener que tocar applicationhost.config (o machine.config). Dicho esto, modificar esos archivos puede ser útil si crea sitios nuevos con frecuencia y no quiere tener que modificar el web.config para cada sitio. Eso puede funcionar para entornos de desarrollo, pero con frecuencia no puede tocar el machine.config en entornos de producción, por lo que todavía recomendaría realizar el cambio en web.config.
gilly3
1
Gracias @ gilly3 - esa removefue la clave para mí
harriyott
0
Vaya a C: \ Usuarios \ nombre de usuario \ Documentos \ IISExpress \ config
Abra applicationhost.config con Visual Studio o su editor de texto favorito.
Busque la palabra mimeMap, debería encontrar muchos de ellos.
Agregue la siguiente línea al principio de la lista:.
Respuestas:
Agregue el tipo JSON MIME a IIS 6. Siga las instrucciones en Configurar tipos MIME de MSDN (IIS 6.0) .
No olvide reiniciar IIS después del cambio.
ACTUALIZACIÓN: Hay formas fáciles de hacer esto en IIS7 y versiones posteriores. La operación solicitó específicamente la ayuda de IIS6, así que dejo esta respuesta tal como está. Pero esta respuesta sigue recibiendo mucho tráfico a pesar de que IIS6 es muy antiguo ahora. Espero que esté usando algo más nuevo, por lo que quería mencionar que si tiene una versión más nueva de IIS7 o más nueva, consulte la respuesta de @ ProVega a continuación para obtener una solución más simple para esas versiones más nuevas.
fuente
.ASPX
. Nuevamente, cambiar a un servidor con IIS7 ofrece muchas más y más fáciles soluciones.Si desea agregar soporte manualmente a su sitio, puede agregar lo siguiente a su web.config en la sección system.webServer :
Esto agregará una configuración "local" en IIS. Esto no funciona en IIS6, pero funciona en IIS7 y versiones posteriores.
fuente
web.config
ruta completa .Cannot add duplicate collection entry of type 'mimeMap' with unique key attribute 'fileExtension' set to '.csv'
vez que eliminé el duplicado, no hay problema.La solución es que necesita agregar el tipo de extensión de archivo json en Tipos MIME
Método 1
Vaya a IIS, seleccione su aplicación y encuentre tipos MIME
Haga clic en Agregar desde el panel derecho
Extensión de nombre de archivo = .json
Tipo MIME = aplicación / json
Después de agregar el tipo de archivo .json en Tipos MIME , reinicie IIS e intente acceder al archivo json
Método 2
Vaya a web.config de esa aplicación y agregue estas líneas en ella
fuente
Al agregar soporte para mimetype (como lo sugiere @ProVega), también es una buena práctica eliminar el tipo antes de agregarlo; esto es para evitar errores inesperados al implementar en servidores donde ya existe soporte para el tipo, por ejemplo:
fuente
C:\Windows\System32\inetsrv\config
archivo IIS7 : applicationHost.configAcabo de tener este problema, pero tuve que encontrar la configuración para IIS Express para poder agregar los tipos MIME. Para mí, estaba ubicado en
C:\Users\<username>\Documents\IISExpress\config\applicationhost.config
y pude agregar el "mapa mimo" correcto allí.fuente
<mimeMap>
nodo:<remove fileExtension=".json" />
. No debería tener que tocar applicationhost.config (o machine.config). Dicho esto, modificar esos archivos puede ser útil si crea sitios nuevos con frecuencia y no quiere tener que modificar el web.config para cada sitio. Eso puede funcionar para entornos de desarrollo, pero con frecuencia no puede tocar el machine.config en entornos de producción, por lo que todavía recomendaría realizar el cambio en web.config.remove
fue la clave para mífuente