更新的图像没有得到反映

时间:2014-09-15 11:43:03

标签: java ajax file crop

我正在尝试裁剪图像。对服务器端进行了ajax调用,裁剪发生,原始文件被裁剪后的图像替换。 现在,当我恢复控制时,即使裁剪图像存在于同一位置,我仍然会看到旧图像。

更改仅在页面刷新后反映,我不希望用户这样做。裁剪图像的代码如下

            BufferedImage originalImgage = ImageIO.read(new File(filePath+"\\"+subFolder+"\\"+fileName));
            ImageIO.write(originalImgage,extention,new File(filePath+"\\"+subFolder+"\\"+dateStamp+"_"+fileName));//save original image

            BufferedImage SubImgage = originalImgage.getSubimage(xAxis,yAxis,width,height); 

            File outputfile = new File(filePath+"\\"+subFolder+"\\"+fileName);

            ImageIO.write(SubImgage,extention,outputfile);

请帮助 感谢

2 个答案:

答案 0 :(得分:0)

尝试使用ajax成功回调中从ajax返回的新路径替换image src参数。

答案 1 :(得分:0)

经过艰苦的努力终于找到了问题。图像被浏览器缓存了。因此,无论何时对同一文件位置的图像进行任何操作,都不会下载最新的副本。仍然会引用缓存中的旧图像。

因此解决方案是让浏览器下载最新的副本。这很简单。 将虚拟参数附加到文件路径,强制浏览器下载
    rand = new Date().getTime();

var image_Path = filePath+"?crop="+rand