svg画像を含む簡単なWebページがあるとします。
<img src="foobar.svg" alt="not working" />
このページを静的なHTMLページとして作成し、直接表示すると、svgが表示されます。このsvgのアドレスを入力すると、表示されます。
しかし、これを.aspxページとして作成し、Visual Studioから動的に起動すると、alt
テキストが表示されます。このsvgのアドレスを(ローカルファイルとしてではなくlocalhostから)入力すると、ブラウザは表示する代わりにダウンロードしようとします。
IISで既にMIMEタイプを定義し(サーバー全体-"image / svg + xml")、IISを再起動しました。前と同じ効果。
質問:どうすればいいですか?
更新
WireSharkは動作しません(ドキュメントにあります)、RawCapも試しましたが、接続を追跡できません(奇数)、幸運なことにFiddlerは動作しました:
クライアントから:
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
サーバーからの回答:
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. ***
記録については、ここにFiddlerの役立つQ&Aがあります:https : //stackoverflow.com/questions/826134/how-to-display-localhost-traffic-in-fiddler-while-debugging-an-asp-net-applicati
<img src...
上記のように単純に含まれます。aspxは完全なhtmlページに「変換」されますが、コンテンツ全体(html、次にsvg)の送信はIISによって行われます。