2014-01-23 2 views
2

SVG 출력을 생성하는 서버 측 스크립트가 있습니다. 나는 MVC3를 사용하고하고 RenderSVG 방법에 그래서 같은 SVG의 내용을 반환 :이 경우 svgContent에서C#을 사용하여 SVG를 제공하여 CSS 배경 이미지로 렌더링하는 방법

return Content(svgContent, "text/xml; charset=utf-8"); 

는 단순히 SVG 파일의 내용이다. 내 RenderSVG 메서드를 직접 탐색하면 내 이미지가 예상대로 렌더링됩니다. 그러나 CSS 태그의 background-image 속성과 동일한 URL을 설정하면 렌더링되지 않습니다. 최신 버전의 Chrome을 사용하고 있으며 일반 SVG 파일이 백그라운드 이미지로 정상적으로 렌더링되는지 확인할 수 있습니다. 그러나이 서버 측 버전은 그렇지 않습니다.

내가 잘못하고있는 아이디어가 있습니까? 다음은 원본 이미지와 서버 측 버전에 대한 응답 헤더입니다. 이미지의 내용은 각 경우에 동일합니다.

원래 응답 헤더

HTTP/1.1 304 Not Modified 
Last-Modified: Mon, 23 Sep 2013 04:56:16 GMT 
Accept-Ranges: bytes 
ETag: "018f63b19b8ce1:0" 
Server: Microsoft-IIS/7.5 
X-Powered-By: ASP.NET 

날짜 : 2014년 1월 23일 (목) 그리니치 표준시 11시 38분 38초

스크립트 응답 헤더

HTTP/1.1 200 OK 
Cache-Control: private 
Content-Type: text/xml; charset=utf-8 
Content-Encoding: gzip 
Vary: Accept-Encoding 
Server: Microsoft-IIS/7.5 
X-AspNetMvc-Version: 4.0 
X-AspNet-Version: 4.0.30319 
X-Powered-By: ASP.NET 
Date: Thu, 23 Jan 2014 11:39:29 GMT 
Content-Length: 490 

답변

7

는 마임으로 "image/svg+xml"를 사용해보십시오 svg에 대한 유형.

return Content(svgContent, "image/svg+xml; charset=utf-8"); 

은 (http://www.w3.org/TR/SVG11/mimereg.html 참조)

+3

당신, 선생님, 그냥 내 일 만들었습니다. Maxwell Q. Klinger 상병의 말을 인용하면 "낙타가 날짜를 뱉어 버릴지도 모릅니다". – Maloric

+2

반갑습니다. 저 코멘트는 나의 일을 너무 만들었다 :) –

관련 문제