Pourquoi est-ce que les images n'apparaissent pas sur les pages web publiées ?

Les images sont absentes d'une page web publiée car le type MIME pour les images n'a pas été défini dans le serveur web.

Description

Une page HTML publiée contenant des liens ou des balises <img> vers des images (fichiers .image) dans le IXIA CCMS qui ne s'affichent pas (rompus) dans le navigateur. La plupart des serveurs web, à l'exception de Tomcat, sont configurés par défaut pour ne pas servir les types MIME inconnus ou non définis.

Solution

Vous devez définir le type MIME pour les images IXIA CCMS.

Pour Apache

Créez un fichier de configuration distribué appelé .htaccess au même niveau que la page principale de votre site et ajoutez-y la ligne suivante :
AddType application/octet-stream .image

Pour Tomcat

Si le comportement par défaut de servir le type MIME inconnu est désactivé, créez un fichier appelé web.xml au même niveau que la page principale de votre site et ajoutez-y ce qui suit :
<?xml version="1.0"?>
<web-app> 
   <mime-mapping>  
      <extension>image</extension>    
    <mime-type>application/octet-stream</mime-type>  
  </mime-mapping>
</web-app>

Pour IIS 7 et ultérieures

Créez un fichier web.config au même niveau que la page principale de votre site et ajoutez-y ce qui suit :
<configuration>
	<system.webServer>
		<staticContent>
			<remove fileExtension=".image" />
			<mimeMap fileExtension=".image" mimeType="application/octet-stream" />
		</staticContent>
		<httpProtocol>
			<customHeaders>
				<remove name="X-Content-Type-Options" />
				<add name="X-Content-Type-Options" value="sniff" />
			</customHeaders>
		</httpProtocol>
	</system.webServer>
</configuration>

Cela ajoute l'extension de fichier .image au typeMime octet-stream et autorise les navigateurs Chrome et Internet Explorer à contourner le typeMime envoyé dans l'en-tête HTTP et à découvrir (« sniffer ») le bon typeMime à utiliser pour afficher les fichiers .image, en particulier dans les cas où la valeur « nosniff » a été activée globalement.

Pour IIS 6

Créez un fichier addMIMEType.vbs contenant ce qui suit et exécutez-le à l'aide de cscript.exe addMIMEType.vbs :


Dim MimeMapObj, MimeMapArray, MimeTypesToAddArray, WshShell, oExec, counter 
Const ADS_PROPERTY_UPDATE = 2 
 
' Set the MIME types to be added
MimeTypesToAddArray = Array(".image", "application/octet-stream")
 
' Get the mimemap object 
Set MimeMapObj = GetObject("IIS://LocalHost/MimeMap")
 
' Call AddMimeType for every pair of extension/MIME type
For counter = 0 to UBound(MimeTypesToAddArray) Step 2
    AddMimeType MimeTypesToAddArray(counter), MimeTypesToAddArray(counter+1)
Next
 
' Create a Shell object
Set WshShell = CreateObject("WScript.Shell")
 
' Stop and Start the IIS Service
Set oExec = WshShell.Exec("net stop w3svc")
Do While oExec.Status = 0
    WScript.Sleep 100
Loop
 
Set oExec = WshShell.Exec("net start w3svc")
Do While oExec.Status = 0
    WScript.Sleep 100
Loop
 
Set oExec = Nothing
 
' Report status to user
WScript.Echo "MIME types have been registered."
 
' AddMimeType Sub
Sub AddMimeType (Ext, MType)
    Dim i 
    ' Get the mappings from the MimeMap property. 
    MimeMapArray = MimeMapObj.GetEx("MimeMap") 
 
    ' Add a new mapping. 
    i = UBound(MimeMapArray) + 1 
    Redim Preserve MimeMapArray(i) 
    Set MimeMapArray(i) = CreateObject("MimeMap") 
    MimeMapArray(i).Extension = Ext 
    MimeMapArray(i).MimeType = MType 
    MimeMapObj.PutEx ADS_PROPERTY_UPDATE, "MimeMap", MimeMapArray
    MimeMapObj.SetInfo
    
End Sub