在IE11中更新图像不起作用



我有一个使用浏览按钮上传多张图像的应用程序。我正在调用一个 servlet 来执行这些操作以存储在 databse 中,检索它并将其存储在数据库中。以下是我的JSP页面代码:

<%if(imageVO != null)
        {%>

                            <TR>
                    <% if (!imageVO.getImage1().equals("")) {
                    Filetype = (imageVO.getImage1().substring(imageVO.getImage1().lastIndexOf(".")+1,imageVO.getImage1().length())).toLowerCase().trim();
                    System.out.println("Inside If for Image1-=========="+Filetype);
                      if("jpg".equalsIgnoreCase(Filetype) || "jpeg".equalsIgnoreCase(Filetype)){ System.out.println("Inside If222222 for Image1-=========="+Filetype+"Ireq"+iReq+"Program type"+prog); %>
                    <TD align="left" colspan="4"><br/><IMG border="0"  
                        src="/servletpath/Servlet?ireq=<%=iReq%>&iseq=1&targetAction=retrievePic&tabVal=0&ProgramType=<%=prog%>"
                        width="200" height="150" id="image11" name="image11"><INPUT type="hidden" name="imageSequence1" id="imageSequence1" value="1"></TD>
                    <%} else {
                        System.out.println("Inside else Image11111"); %>
                    <TD align="center" colspan="4" width="200" height="70"><a href="/servletpath/Servlet?ireq=<%=iReq%>&iseq=1&targetAction=retrievePic&tabVal=0&ProgramType=<%=prog%>" id="image11" name="image11"> <%=imageVO.getImage1() %> </a><INPUT type="hidden" name="imageSequence1" id="imageSequence1" value="1"></TD>
               <% request.getSession().setAttribute("browseType",null);
                    request.getSession().removeAttribute("browseType");
                    if(request.getSession().getAttribute("browseType")!=null)
                    System.out.println("Value of Remove Browse type attr removed 333======="+(String)request.getSession().getAttribute("browseType"));} }  %>               
                    <%  if (!imageVO.getImage2().equals("")) { 
                     Filetype = (imageVO.getImage2().substring(imageVO.getImage2().lastIndexOf(".")+1,imageVO.getImage2().length())).toLowerCase().trim();
                     if("jpg".equalsIgnoreCase(Filetype) || "jpeg".equalsIgnoreCase(Filetype)){ %>          
                    <TD align="left" colspan="3"><br/><IMG border="0"
                        src="/servletpath/Servlet?ireq=<%=iReq%>&iseq=2&targetAction=retrievePic&tabVal=0&ProgramType=<%=prog%>"
                        width="200" height="150" name="image22" id="image22"><INPUT type="hidden" name="imageSequence2" id="imageSequence2" value="2"></TD>
                    <%} else {
                        System.out.println("Inside else Image2222222222"); %>   
                         <TD align="center" colspan="3" width="200" height="70"><a href="/servletpath/Servlet?ireq=<%=iReq%>&iseq=2&targetAction=retrievePic&tabVal=0&ProgramType=<%=prog%>" name="image22" id="image22" > <%=imageVO.getImage2() %> </a><INPUT type="hidden" name="imageSequence2" id="imageSequence2" value="2"></TD>
     <%request.getSession().setAttribute("browseType",null);
                         request.getSession().removeAttribute("browseType");
                         if(request.getSession().getAttribute("browseType")!=null)
                         System.out.println("Value of Remove Browse type attr removed 333======="+(String)request.getSession().getAttribute("browseType"));} }  %>      

                </TR>
            <%} %>  

这是代码的一部分,其中将显示从数据库中检索的图像缩略图。为了显示 src 标记中的 servlet,应该调用它。
当我第一次上传图像时,流程工作正常,并且用于检索的 servlet 被正确调用。当我尝试在同一位置更新图像时,流程正常(图像在数据库中更新),但未调用检索图片 servlet。此问题仅在 IE11 中发生。在其他较低版本的IE中,它工作正常。
IE11 中是否不支持任何标记/代码。任何帮助,不胜感激。

这是因为缓存问题。我用时间戳更改了 servlet 的 url,以便每次为新图像调用 servlet。成功了。

ServletPath/Servlet?ireq=<%=iReq%>&iseq=1&targetAction=retrievePic&tabVal=0&ProgramType=<%=prog%>&time=<%=java.lang.System.currentTimeMillis()%>"

最新更新