我在服务器成功响应后正在更改 img
,但它不会立即更改。我必须重新加载页面以查看新图像。
将照片上传到服务器后面是我用于用户标识${userId}
的个人资料照片的网址。在url的末尾,我使用随机数来避免缓存。
var img = "photohandler/fetchprofilepics/${userId}/profilePhoto/<%=new Random().nextInt()%>";
$(".profilePhoto").attr("src",img);
如果在浏览器中粘贴相同的网址,则显示图片。
在spring / servlet的服务器端:
byte bytes[] = new byte[byteBuffer.remaining()];
byteBuffer.get(bytes, 0, bytes.length);
bufferedOutputStream = new BufferedOutputStream(response.getOutputStream());
bufferedOutputStream.write(bytes);
答案 0 :(得分:1)
尝试改为:
var img = "photohandler/fetchprofilepics/${userId}/profilePhoto/<%=new Random().nextInt()%>";
$(".profilePhoto").attr("src",img + '?'+ $.now());
这将删除我猜的缓存问题。
编辑:好吧我认为您的问题是您认为服务器端代码仍然在页面呈现后处理客户端...