JQuery FancyBox-显示覆盖的图像

JQuery FancyBox-显示覆盖的图像,jquery,image,fancybox,Jquery,Image,Fancybox,我正在开发一个用户配置文件图像控件。此控件允许用户上载其个人资料的自定义图像,该图像显示为隐藏在页面角落中的小缩略图。我正在使用FancyBox显示全尺寸图像。 问题是,当上传新图像时,FancyBox会以与原始图像相同的尺寸显示新图像 如果每次图像上载都会生成一个新的url,则不会出现此问题,但我会根据用户的ID获取图像url。例如:url=“../profileImages/user_3.jpg” 换句话说,上载新的配置文件图像会覆盖当前图像 对于在座的一些专家,我尝试过向url添加一个查询

我正在开发一个用户配置文件图像控件。此控件允许用户上载其个人资料的自定义图像,该图像显示为隐藏在页面角落中的小缩略图。我正在使用FancyBox显示全尺寸图像。 问题是,当上传新图像时,FancyBox会以与原始图像相同的尺寸显示新图像

如果每次图像上载都会生成一个新的url,则不会出现此问题,但我会根据用户的ID获取图像url。例如:url=“../profileImages/user_3.jpg” 换句话说,上载新的配置文件图像会覆盖当前图像

对于在座的一些专家,我尝试过向url添加一个查询参数,如:“../profileImages/user_3.jpg?value=123”,但它不起作用

在不涉及我正在使用的所有代码的情况下,我创建了一个简单的示例,它将全面演示这个问题

<html>
<head runat="server">
<title></title>
<script src="../jquery-1.6.2.js" type="text/javascript"></script>
<script src="../fancybox-1.3.4.js" type="text/javascript"></script>
<script src="../fancybox-1.3.4.pack.js" type="text/javascript"></script>
<link href="../jquery.fancybox-1.3.4.css" rel="stylesheet" type="text/css" />

<script>
$(document).ready(function() 
{
$("#example").fancybox() 
});
</script>
</head>
<body runat="server">
<div>
<a id="example" href="TestImg.jpg"><img alt="example" src="TestImgThumb.jpg" /></a>
</div>

</body>
</html>

$(文档).ready(函数()
{
$(“#示例”).fancybox()
});
  • 创建两个图像。最好是人,这样你可以更清楚地看到伸缩问题。 确保第一个图像明显大于第一个图像,并将其命名为:TestImg.jpg

  • 在浏览器中打开网页,并通过FancyBox查看图像

  • 现在删除第一个图像,并将第二个(较小)图像重命名为:TestImg.jpg

  • 再次打开网页以查看问题。超链接中的图像将是正常的,但FancyBox渲染的图像会拉伸到原始图像的尺寸


  • 如果您需要进一步澄清,我很乐意效劳。

    我通常会为缩略图创建一个带有时间戳的图像。例如,在您的例子中,[UserId\u yyyyMMdd\u hh\u mm\u ss].jpg,然后将其存储在我的数据库中。我还将覆盖文件系统上的原始文件,以便您以后可以对其进行操作,但您要提供的图像是以唯一名称存储在数据库中的图像


    您似乎希望避免将图像url(或图像)存储在数据库中,这就是为什么会出现缓存问题的原因。对于这些类型的图像,仅使用用户Id不是一个好主意,因为您将遇到缓存问题。

    图像已缓存,但如果您重新加载页面,则不会发生这种情况,对吗?如果出现图像缓存问题,新上载的图像将永远不会显示,因为浏览器看到的是相同的url并显示缓存的图像。这不是我的问题,因为新上传的图像显示出来了,但它被拉伸到了原始图像的尺寸。没有人能回答这个问题吗!!?