2012-03-03 2 views
2

W3 학교에 나열된 모든 퍼가기 방법을 시도한 다음 더 시도했습니다. 익스플로러는 너비와 높이가 제공되는 경우에도 부적절하게 크기를 표시합니다. 크롬과 파이어 폭스는 다운로드 만하면됩니다. 개발 서버에 내장 된 Visual Studio 2010을 사용하면 지원을 위해 MIME 형식을 추가해야 할 가능성이 높습니다. 가능한 모든 방법으로 SVG 개체를 포함하려고 시도하지만 브라우저에서 html을 렌더링 할 때 파일을 저장하라는 메시지가 표시됩니다.

SVG 파일

내 콘텐츠 폴더에 있고 나는 ImageFileName는 "filename.svg"이고, 같은 뷰에서 HTML을 만드는 오전 :

<object data="/Content/ExternalCats/@RootCat.ImageFileName" type="image/svg+xml"></object> 

또는

<embed src="/Content/ExternalCats/@RootCat.ImageFileName" width="300" height="100" 
type="image/svg+xml" 
pluginspage="http://www.adobe.com/svg/viewer/install/" /> 

답변

8

<svg>을 HTML에 직접 삽입 해보십시오.

@Html.Raw(File.ReadAllText(Server.MapPath("~/content/externalcats/" + RootCat.ImageFileName))) 

또는 올바른 MIME 타입 (image/svg+xml)와 SVG를 제공 : 현대 브라우저를 지원 한 후

public ActionResult Svg() 
{ 
    return File(Server.MapPath("~/content/test.svg"), "image/svg+xml"); 
} 

과 :

<object data="@Url.Action("svg")" type="image/svg+xml"> 
    <embed src="@Url.Action("svg")" type="image/svg+xml"/> 
</object> 

또는 IIS를 사용하는 경우 7.0 이상 .svg 확장자를 가진 static MIME mapping을 정의 할 수 있습니다.

<system.webServer> 
    <validation validateIntegratedModeConfiguration="false"/> 
    <modules runAllManagedModulesForAllRequests="true"/> 
    <staticContent> 
     <mimeMap fileExtension=".svg" mimeType="image/svg+xml" /> 
    </staticContent> 
</system.webServer> 
0

SVG 지원 IE9에서 Internet Explorer에 추가되었습니다. IE의 이전 버전을 사용해 보셔야합니다. Firefox와 Chrome에서 동일한 페이지를 사용해 보셨습니까?

편집 :

또한 SVGWeb이라는 라이브러리를 사용할 수 있습니다. 분명히이 라이브러리는 또한 IE 6, 7 및 8이 SVG를 렌더링 할 수있게합니다. 그들은 정말 좋은 데모를 가지고 있습니다. 빠른 시작 가이드는 here입니다.

+0

IE9와 최신 Chrome 및 FireFox를 사용합니다. 인터넷 익스플로러는 svg 파일을 다운로드하라는 메시지를 부적절하게 다른 사람이 볼 수는 있지만 이미지를 표시하는 유일한 사람입니다. – LaserBeak

0

로컬 서버 프로그램 (예 : 작은 파이썬 HTTP 서버)을 사용하여 페이지를로드하고 있습니까? 그렇다면 MIME 형식을 인식하는지 확인해야합니다. 브라우저가 SVG를 지원하더라도 서버가 올바른 MIME 유형을 반환하지 않으면 브라우저는 브라우저에서 수행 할 작업을 모르고 저장하라는 메시지를 표시합니다.

+0

그래, 그게 내가 생각했던, 올바른 헤더와 함께 데이터를 반환하지 않기 때문에 서버가 잘못되었다. Visual Studio 2010에 IIS7이 내장되어 있으며이 옵션을 변경할 위치가 확실하지 않습니다. – LaserBeak

+0

솔직히 말해서 나는 Visual Studio가 자신의 서버를 가지고 있다는 것을 알지 못 했으므로 그것에 대해 아무 것도 모른다. 그러나 빠른 google 검색은 나를 이끌어 준다. [link] (http://blogs.msdn.com/b /scicoria/archive/2011/10/06/additional-mime-types-in-visual-studio-2010-development-web-server.aspx) 아마도 이것은 당신을 도울 수 있습니다. – Danny

관련 문제