我有一个问题:我有一个可以正常工作的照片上传器。上传完成后,我将向用户显示其新的个人资料照片。它实际上有效,并且第一次上传图片时,它就可以正常显示。但是,当第二次和连续完成时,它会一直显示第一个上传的图片。我知道没有。 2已上传,因为当我刷新页面时,它在那里。我在图片的后面添加了一个随机字符串,以确保浏览器被迫加载最新副本,但是不知何故它只是第一次喜欢它,此后就不再喜欢了。我在这里有什么忽略的地方吗?我的头好痛。任何帮助是极大的赞赏!谢谢一百万!
这是我的工作,并且只有在有人上载图片时才起作用:
$("#op").fadeOut(3000, function() {
$(this).attr("src", "https://static.domain.com/users/"+username+"/profilepic.jpg?ref="+nr);
$(this).load(function () {
$(this).fadeIn(4000);
});
});
NR是添加的字符串,用于强制浏览器重新加载图片(只是时间戳)。我梦myself以求的事情是:在图片逐渐淡出的时候使用ajax调用从服务器中检索新图片,但这只是让我讨厌。 setTimeOut大约需要5秒才能给它时间,但这似乎也不爱我,最后如片段中所示,还有4秒长的fadeIn,但这似乎也无济于事。我知道它是如何工作的,我只想知道是否有什么我可能会忽略的东西?任何提示或技巧将不胜感激!注意:由于时间差异,我可能无法立即做出回应,对此我感到抱歉。预先再次感谢!
答案 0 :(得分:0)
我认为nr无关紧要。变量用户名会更改吗?在代码中,您显示的图片来自具有用户名的文件夹,并且该文件夹中是名为profilepic.img的图像。
答案 1 :(得分:0)
假设同一用户一个接一个地上传两张图片,则用户名保持不变,因此上传的文件也是如此。如果上传第二张图片时用户名没有更改,则可能需要考虑为图片生成不同的名称。