Adición de asignaciones MIME de contenido estático <mimeMap>
Información general
El elemento <mimeMap>
del elemento <staticContent> agrega un tipo MIME único a la colección de tipos de contenido estáticos. Cada entrada <mimeMap>
debe constar de dos partes:
- Extensión de nombre de archivo única especificada por el atributo fileExtension, por ejemplo, ".txt", ".png", etc.
- Tipo MIME para la extensión de nombre de archivo especificada por el atributo mimeType, por ejemplo, "text/plain", "image/jpg", etc.
Nota:
IIS 7 no devolverá tipos de archivo que no se agreguen al elemento <staticContent>
o que tengan asignaciones en el elemento <handlers>
de forma predeterminada. Este comportamiento impide el acceso no autorizado a los archivos que no tienen asignaciones en los valores de configuración de IIS 7.
Compatibilidad
Versión | Notas |
---|---|
IIS 10.0 | El elemento <mimeMap> no se modificó en IIS 10.0. |
IIS 8.5 | El elemento <mimeMap> no se modificó en IIS 8.5. |
IIS 8.0 | El elemento <mimeMap> no se modificó en IIS 8.0. |
IIS 7.5 | El elemento <mimeMap> no se modificó en IIS 7.5. |
IIS 7.0 | El elemento <mimeMap> del elemento <staticContent> se introdujo en IIS 7.0. |
IIS 6,0 | El elemento <mimeMap> reemplaza la propiedad de metabase de IIS 6.0 MimeMap. |
Configuración
El elemento <mimeMap>
del elemento <staticContent>
se incluye en la instalación predeterminada de IIS 7.
Procedimientos
Cómo agregar un tipo MIME a un sitio web o una aplicación
Abra el Administrador de Internet Information Services (IIS):
Si usa Windows Server 2012 o Windows Server 2012 R2:
- En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
Si usa Windows 8 o Windows 8.1:
- Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
- En Panel de control, haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
Si usa Windows Server 2008 o Windows Server 2008 R2:
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
Si usa Windows Vista o Windows 7:
- En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
- Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
En el panel Conexiones, vaya al sitio, la aplicación o el directorio en el que desea agregar un tipo MIME.
En el panel Tipos MIME, haga clic en Agregar... en el panel Acciones.
En el cuadro de diálogo Agregar tipo MIME, agregue la extensión de nombre de archivo y el tipo MIME y, a continuación, haga clic en Aceptar.
Configuración
Atributos
Atributo | Descripción |
---|---|
fileExtension |
Atributo de cadena necesario. Especifica una extensión de nombre de archivo única para un tipo MIME. Consulte la sección Configuración predeterminada más adelante en este tema para obtener la lista completa de valores predeterminados |
mimeType |
Atributo de cadena necesario. Especifica el tipo de archivo y la aplicación que usa este tipo de extensión de nombre de archivo. Consulte la sección Configuración predeterminada más adelante en este tema para obtener la lista completa de valores predeterminados. |
Elementos secundarios
Ninguno.
Ejemplo de configuración
En el siguiente ejemplo de configuración se agregan los tipos de archivo para los archivos Mensajes exclusivos del sistema MIDI (Sysex) y Tablatura de guitarra (TAB) a IIS, lo que permite a los clientes descargar estos tipos de archivo.
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".syx" mimeType="application/octet-stream" />
<mimeMap fileExtension=".tab" mimeType="text/plain" />
</staticContent>
</system.webServer>
</configuration>
Código de ejemplo
En los siguientes ejemplos de código se agregan los tipos de archivo para los archivos Mensajes exclusivos del sistema MIDI (Sysex) y Tablatura de guitarra (TAB) a IIS, lo que permite a los clientes descargar estos tipos de archivo.
AppCmd.exe
appcmd.exe set config "Default Web Site" -section:system.webServer/staticContent /+"[fileExtension='syx',mimeType='application/octet-stream']"
appcmd.exe set config "Default Web Site" -section:system.webServer/staticContent /+"[fileExtension='tab',mimeType='text/plain']"
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetWebConfiguration("Default Web Site");
ConfigurationSection staticContentSection = config.GetSection("system.webServer/staticContent");
ConfigurationElementCollection staticContentCollection = staticContentSection.GetCollection();
ConfigurationElement mimeMapElement = staticContentCollection.CreateElement("mimeMap");
mimeMapElement["fileExtension"] = @"syx";
mimeMapElement["mimeType"] = @"application/octet-stream";
staticContentCollection.Add(mimeMapElement);
ConfigurationElement mimeMapElement1 = staticContentCollection.CreateElement("mimeMap");
mimeMapElement1["fileExtension"] = @"tab";
mimeMapElement1["mimeType"] = @"text/plain";
staticContentCollection.Add(mimeMapElement1);
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetWebConfiguration("Default Web Site")
Dim staticContentSection As ConfigurationSection = config.GetSection("system.webServer/staticContent")
Dim staticContentCollection As ConfigurationElementCollection = staticContentSection.GetCollection
Dim mimeMapElement As ConfigurationElement = staticContentCollection.CreateElement("mimeMap")
mimeMapElement("fileExtension") = "syx"
mimeMapElement("mimeType") = "application/octet-stream"
staticContentCollection.Add(mimeMapElement)
Dim mimeMapElement1 As ConfigurationElement = staticContentCollection.CreateElement("mimeMap")
mimeMapElement1("fileExtension") = "tab"
mimeMapElement1("mimeType") = "text/plain"
staticContentCollection.Add(mimeMapElement1)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";
var staticContentSection = adminManager.GetAdminSection("system.webServer/staticContent", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var staticContentCollection = staticContentSection.Collection;
var mimeMapElement = staticContentCollection.CreateNewElement("mimeMap");
mimeMapElement.Properties.Item("fileExtension").Value = "syx";
mimeMapElement.Properties.Item("mimeType").Value = "application/octet-stream";
staticContentCollection.AddElement(mimeMapElement);
var mimeMapElement1 = staticContentCollection.CreateNewElement("mimeMap");
mimeMapElement1.Properties.Item("fileExtension").Value = "tab";
mimeMapElement1.Properties.Item("mimeType").Value = "text/plain";
staticContentCollection.AddElement(mimeMapElement1);
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"
Set staticContentSection = adminManager.GetAdminSection("system.webServer/staticContent", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set staticContentCollection = staticContentSection.Collection
Set mimeMapElement = staticContentCollection.CreateNewElement("mimeMap")
mimeMapElement.Properties.Item("fileExtension").Value = "syx"
mimeMapElement.Properties.Item("mimeType").Value = "application/octet-stream"
staticContentCollection.AddElement(mimeMapElement)
Set mimeMapElement1 = staticContentCollection.CreateNewElement("mimeMap")
mimeMapElement1.Properties.Item("fileExtension").Value = "tab"
mimeMapElement1.Properties.Item("mimeType").Value = "text/plain"
staticContentCollection.AddElement(mimeMapElement1)
adminManager.CommitChanges()