0

我的 asp.net 项目在 \Content\Images 文件夹中有几个 .png(和几个 .gif)文件。

两个没有找到;Chrome 开发工具的控制台告诉我:“加载资源失败:服务器响应状态为 404(未找到)

...果然,如果我单击它显示的链接(例如,http://localhost/@System.Configuration.ConfigurationManager.AppSettings[%22ThisApp%22]/Content/Images/PlatypusorangeSprite.png)它需要我到 GDT 的资源选项卡,虽然图像文件夹显示该文件在那里,但有一个“损坏的图像”表示。

同样的事情发生在另一个图像文件上(它们都在同一个位置,并且在 CSS 文件声明中对它们的引用确实指向它们存在的位置,例如:

background:#E5EDFE url('/@System.Configuration.ConfigurationManager.AppSettings["ThisApp"]/Content/Images/PlatypusorangeSprite.png') repeat-x 0 -369px;

我可以在 VS2010 IDE 中双击这些文件,它们会打开并且看起来不错。

那么为什么在浏览时没有发现它们/被视为损坏的图像?

更新

好吧,显然这与我将所有样式声明从 cshtml 文件移到页面中引用的单独样式表/CSS 文件中有关(我回到了糟糕的旧方式并且它工作正常 - pngs 是再次找到(我什至想象我听到他们唱“奇异恩典”))。由于它不是这些 png 的相对路径,为什么样式信息位于 Content 文件夹中的 .css 文件中而不是“内联”?

当您做“正确”的事情时,我讨厌它,这会使事情变得更糟。

4

2 回答 2

1

任何区分大小写的差异,也许?

于 2013-05-23T18:10:59.350 回答
1
  1. 一些客户不小心将后缀转换为 .JPG 或 .PNG 等大字母。如果您通过 .jpg 或 .png 调用它们,它将不匹配。

  2. 通过在 Visual Studio 中编译来渲染模板,打开浏览器,查看 HTML 并检查图像的渲染路径:<image src="..." />. 或者,尝试在浏览器中通过 ftp 通过 url 直接调用图像,例如ftp://www.mysite/pics/,然后单击显示图像的链接。然后你在 url 中得到正确的路径。

  3. 还要检查后缀是否像 mypic.jpg.jpg 一样意外加倍。

于 2013-05-23T18:17:18.107 回答