所以我最近“继承”了一个已经出现了一个奇怪问题的网站。在特定日期之后上传到网站的所有图像都拒绝加载,但所有较旧的图像仍然可以正常加载。据我所知,这是一个非常基本的C#MVC网站(目前托管在GoDaddy,呃)。这是我到目前为止所学到的:
图片的当前代码:
@if (!String.IsNullOrEmpty(feature.Graphic))
{
<a href="@feature.Url">
<img src="@(feature.Graphic)?width=620" class="frame" alt="">
</a>
}
这是应该做的。 feature.Graphic获取图像的相应URL。因此,给定的网页将<img src="bannerpicFeb17.jp?width=620" class="frame" alt="">
,并且图像拒绝加载。但是,如果我修改代码(使用Firebug或通过更改.cshtml文件)不包含“?width = 620”部分,图像将加载正常。
我觉得重要的是要注意在该特定日期之前上传的图像仍能完全正常工作。无论是通过Web界面为用户加载还是通过FTP加载的新图像都不会加载。因此,处理图像的方式必须改变,我不知道是什么。没有什么错误与数据库中的img链接作为URL传递给代码(我可以看到)。如果我使用Firebug从src中剥离?width=620
部分,图像加载正常(尽管显然是错误的大小)。如果我的所有图像一下子破了,那对我来说会更有意义。但它只是新的。
不幸的是,我不能谷歌这种特殊风格的图像容易调整大小,因为你不能谷歌一个问号。由于我无法控制的各种原因,我不能要求原始网络开发人员向我解释一些事情。有人能指出我可能出错的方向吗?或者至少告诉我我在这里遇到了什么,所以我可以做自己的研究并自我教育?我不能从?width=x
代码中删除<img>
部分,因为在网站的不同位置使用不同的尺寸。我真的不想重做40或50页来使用不同的图像大小调整方法。
我显然错过了一些东西,而在我的典型经历中,当这令人沮丧时,它通常会变得非常简单。我希望你能帮助我。提前谢谢。
答案 0 :(得分:0)
像这样运行:
@if (!String.IsNullOrEmpty(feature.Graphic))
{
<a href="@Html.Raw(feature.Url)">
<img src="@(Html.Raw(feature.Graphic))?width=620" class="frame" alt="">
</a>
}
我建议这样做是因为你需要渲染原始字符串,当你按照自己的方式运行时,IIS会对其进行编码。