假设我有一个包含SVG图片的简单网页:
<img src="foobar.svg" alt="not working" />
如果我将此页面设置为静态html页面并直接查看,则会显示svg。如果我键入此svg的地址,则会显示它。
但是,当我将其设置为.aspx页并从Visual Studio动态启动时,我得到了alt
文本。如果我键入此svg的地址(从本地主机而不是本地文件),则浏览器将尝试下载而不是显示。
我已经在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. ***
作为记录,以下是有关提琴手的有用的问答: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完成的。