Disons que j'ai une page web simple contenant une image svg :
<img src="foobar.svg" alt="not working" />
Si je fais de cette page une page html statique et que je la consulte directement, le svg s'affiche. Si je tape l'adresse de ce svg, il s'affiche.
Mais lorsque je crée une page .aspx et que je la lance dynamiquement depuis Visual Studio, j'obtiens les résultats suivants alt
texte. Si je tape l'adresse de ce svg (depuis l'hôte local, pas en tant que fichier local), le navigateur essaie de le télécharger au lieu de l'afficher.
J'ai déjà défini le type mime dans IIS (pour l'ensemble du serveur -- "image/svg+xml") et redémarré IIS. Même effet qu'avant.
Question : que dois-je faire de plus ?
Mise à jour
WireShark ne fonctionne pas (c'est dans la documentation), j'ai essayé aussi RawCap, mais il ne peut pas tracer ma connexion (bizarre), heureusement Fiddler a fonctionné :
Du client :
GET http://127.0.0.1:1731/svg/document_edit.svg HTTP/1.1
Host: 127.0.0.1:1731
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:10.0.1) Gecko/20100101 Firefox/10.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Réponse du serveur :
HTTP/1.1 200 OK
Server: ASP.NET Development Server/10.0.0.0
Date: Thu, 16 Feb 2012 11:14:38 GMT
X-AspNet-Version: 4.0.30319
Cache-Control: private
Content-Type: application/octet-stream
Content-Length: 87924
Connection: Close
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:
*** FIDDLER: RawDisplay truncated at 128 characters. Right-click to disable truncation. ***
Pour mémoire, voici des questions-réponses utiles pour Fiddler : https://stackoverflow.com/questions/826134/how-to-display-localhost-traffic-in-fiddler-while-debugging-an-asp-net-applicati
0 votes
Je pense que vous obtiendrez de meilleures réponses sur SO. En bref, en supposant qu'ASPX fonctionne déjà, il faudrait que vous émettiez SVG comme type MIME de la page ASPX pour que le navigateur croie qu'il s'agit d'un fichier SVG. Vous essayez, vraisemblablement, d'émettre dynamiquement SVG à partir de la page ? Si c'est le cas, AFAIK, si cela fonctionne en tant que page unique, cela fonctionnera dans une entrée IMG.
0 votes
@TristanK, l'aspx n'émet pas "SVG comme type MIME", il contient simplement
<img src...
comme indiqué ci-dessus, aspx est "traduit" en page html complète, mais l'envoi du contenu entier (html, puis svg) est fait par IIS.0 votes
Je ne comprends toujours pas ce que vous décrivez, mais je pense qu'il s'agit d'une question de développement, qu'il serait préférable de poser sur StackOverflow.
2 votes
Prenez un exemplaire de Fiddler puis tracer les deux demandes différentes. Cela pourrait vous donner des indices sur la raison pour laquelle une demande directe de l'image se comporte différemment dans chacun de ces cas. Les indices se trouveront très probablement dans les en-têtes retournés. Sans ces données, tout ce que nous pouvons faire est de deviner quelles réponses votre serveur renvoie.
0 votes
@macias Comme Kev l'a dit, vous allez devoir tracer le trafic. Fiddler ou le bon vieux Wireshark devraient pouvoir le détecter.
0 votes
@Kev, lorsque vous accédez au fichier local (directement), il n'y a pas de trafic, donc je ne peux pas le tracer. Pour localhost, j'ai mis à jour la question.