我用common-uploadfile组件做上传图片,正确上传完,要刷新一下就可以看到最新上传的图片
我的做法是点上传后,让它跳转到Servlet处理上传,上传成功后直接从Servlet跳转到了JSP显示页面
但是问题也出来了,每次上传后自动跳回到上传图片的界面,显示的都是上传之前的图片,要手动刷新一下页面才会显示出刚上传完后图片
我要怎么样才能在Servlet跳转回来后直接就能显示的是最新上传的图片呢?谢谢

解决方案 »

  1.   

    Servlet把上传的图片在服务器端的地址传给客户端
      

  2.   

    不是的,我的做法是把图片保存到服务器上的一个文件夹中,我把每一个上传的图片都和ID值绑定,只要是这个ID上传的我就让上传的图片名改成和ID一样的文件名,这样我在页面那边就可以简单的通过ID加图片后缀名来显示图片了。
    <img src="../images/items/<%=item.getItemNo() %>.gif" width="85" height="49" name="img">
    二楼说的方法我试了,好像也不行,不知道是不是我操作上有不完整的地方唉
      

  3.   

    应该是缓存,但是还是解决不了,我加了清缓存的代码,在页面和Servlet都加了,也没用,加时间戳的方法也试了,好像也没效果,真是晕了
      

  4.   

    部分代码做为参考:
    图片上传
    <input type="file" name="file" onChange="showPhoto(this.value)" size="30">
    <TD colspan="4">图片预览
      <IMG src="../showUploadPhoto.do" id="picId" width="160px" height="200px" border="0">
    </TD><script>
        function showPhoto(value)
        {     
              var form = document.forms[0];
              form.picId.src = value;         
        }
    </script>
      

  5.   

    你不是要点击一个按钮才能跳到显示图片的页面吗?,你上传完毕后重定向到你点击的哪个按钮的servlet就可以了,
    response.sendRedrect(sss.do);不要直接返回页面,通过servlet跳转重新刷新页面就可以了。