我正在尝试裁剪图像。对服务器端进行了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);
请帮助 感谢
答案 0 :(得分:0)
尝试使用ajax成功回调中从ajax返回的新路径替换image src参数。
答案 1 :(得分:0)
经过艰苦的努力终于找到了问题。图像被浏览器缓存了。因此,无论何时对同一文件位置的图像进行任何操作,都不会下载最新的副本。仍然会引用缓存中的旧图像。
因此解决方案是让浏览器下载最新的副本。这很简单。
将虚拟参数附加到文件路径,强制浏览器下载
rand = new Date().getTime();
var image_Path = filePath+"?crop="+rand