2016-06-28 110 views
1

在我sublayout我试图渲染图像为什么Sitecore图像顶部和底部有黑色边框?

HTML:

<sc:Image runat="server" ID="fldImage" Height="75px" Width="98px" /> 

CS代码以下行来填充图像,

sitecoreImage.Field = SitecoreUtility.SITECORE_FIELD_LIST_IMAGE; 
sitecoreImage.Item = sitecoreItem; 

图片是越来越与黑色边框渲染在顶部和底部。

调试时我看到的图片URL像

/~/media/Images/image-thumb.jpg?as=1&h=75&la=en&w=98&hash=920D0F90FR9BE29A9DC4131BAF1C5CD6BEA96F3B

当尝试使用以下URL

http://domain/~/media/Images/image-thumb.jpg?as=1&h=75&la=en&w=98&hash=920D0F90FR9BE29A9DC4131BAF1C5CD6BEA96F3B

我看到的图像与边框请求只是图像。

但是,当我带,其hash=920D0F90FR9BE29A9DC4131BAF1C5CD6BEA96F3B从URL

http://domain/~/media/Images/image-thumb.jpg?as=1&h=75&la=en&w=98

我看到的图像而没有黑线呈现。

为什么我们在顶部和底部看到黑色边框的图像?

感谢您的帮助。

回答

3

您正在请求的图像的宽度和高度可能不是原始的,导致Sitecore根据您的请求调整图像。由于它会保持宽高比,因此可能会添加背景颜色。使用的默认背景颜色是黑色,这就是为什么你看到这一点。您可以使用Media.DefaultImageBackgroundColor设置更改颜色。

删除哈希后,Sitecore将不再进行调整,因为网址已被篡改。我认为你的图像的宽度和高度也是不同的(实际大小,而不是你在屏幕上看到的)。

+0

是的你是对的,它不是我要求的大小。但在我的第二个网址中,我再次传递了高度和宽度。我只是剥离了Hash查询字符串。为什么哈希查询字符串被添加到我的URL? sitecore会做些什么,我可以阻止它? – Sakthivel

+3

只是为了澄清,哈希是一种安全特性,包含图像URL以阻止攻击从请求可能的每一个大小的图像,这有可能淹没请求并填充大量磁盘空间。这是这个细节:http://blog.najmanowicz.com/2015/05/15/do-not-turn-sitecore-media-request-protection-off-and-protect-older-sitecore-versions-with-imageguard / –