Azure上的ASP.NET MVC 5:“您要查找的资源已被删除......”用于SVG文件

时间:2014-10-22 20:18:00

标签: asp.net-mvc azure svg

我创建了一个带有一些视图和控制器的MVC 5网页,添加了一些图像(gif和svg),并验证它主要在本地工作。图像显示出来,一切都按预期运行。

当我部署到Azure时,gif图像加载正常,但svg图像给我错误The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.当我使用Azure凭据登录我网站的FTP时,gif和svg文件都在那里。我可以从网上访问我的/img/loading.gif文件就好了;但是,/img/logo.svg - 当确实存在于目录中时,确实会在我本地运行时显示 - 不是当我的Azure网站提供服务时。

我认为这不相关,但我告诉我的网站路由现有文件:

routes.RouteExistingFiles = true;

我的所有图像--gif和svg - 都位于Solution 'mySolutionName' -> myMvcProjectName -> img。因此,我无法看到任何指示我的网站以不同方式处理这些文件的内容。

1 个答案:

答案 0 :(得分:5)

原来这是staticContent MIME类型的问题,如this answered question中所述。

要解决此问题,我找到了<system.webServer>的{​​{1}}部分:

Web.config

使用适当的MIME类型为SVG添加 <system.webServer> <modules> <remove name="FormsAuthentication" /> </modules> </system.webServer> 映射:

<staticContent>