Giả sử tôi có một trang web đơn giản với hình ảnh svg trong đó:
<img src="foobar.svg" alt="not working" />
Nếu tôi tạo trang này dưới dạng trang html tĩnh và xem nó trực tiếp thì Svg được hiển thị. Nếu tôi gõ địa chỉ của svg này - nó sẽ được hiển thị.
Nhưng khi tôi tạo trang này dưới dạng trang .aspx và khởi chạy nó một cách linh hoạt từ Visual Studio, tôi nhận được alt
văn bản. Nếu tôi nhập địa chỉ của svg này (từ localhost, không phải là tệp cục bộ) - trình duyệt sẽ cố tải xuống thay vì hiển thị.
Tôi đã xác định loại mime trong IIS (cho toàn bộ máy chủ - "image / svg + xml") và khởi động lại IIS. Hiệu ứng tương tự như trước đây.
Câu hỏi: tôi nên làm gì hơn?
Cập nhật
WireShark sẽ không hoạt động (nó nằm trong tài liệu), tôi cũng đã thử RawCap, nhưng nó không thể theo dõi kết nối của tôi (lẻ), may mắn thay Fiddler đã làm việc:
Từ khách hàng:
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
Trả lời từ máy chủ:
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. ***
Đối với bản ghi, đây là câu hỏi và trả lời hữu ích cho Fiddler: /programming/826134/how-to-display-localhost-traffic-in-fiddler-fter-debugging-an-asp-net-applicati
<img src...
như được hiển thị ở trên, aspx được "dịch" sang trang html đầy đủ, nhưng việc gửi toàn bộ nội dung (html, và sau đó là Svg) được thực hiện bởi IIS.