当前位置: 首页 > 知识库问答 >
问题:

Image Servlet不希望在浏览器(FireFox,即..)中显示图像但是在Eclipse浏览器中工作呢?

宁锐
2023-03-14

受保护的void doPost(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{

  File fl=new File("C:\\Documents and Settings\\Administrator\\My Documents\\Eclipse\\zadatak\\WebContent\\WEB-INF\\upload\\");
  PrintWriter pw=response.getWriter();
  response.setContentType("text/html");

  pw.println("<html>");
  pw.println("<head>");
  pw.println("<style type=\"text/css\">");
  pw.println("img{display:block-inline;width:100px;height:100px;");
  pw.println("</style>");
  pw.println("</head>");
  pw.println("<body>");
  pw.println("<table border=\"1\">");
  pw.println("<tr>");

  for(File f:fl.listFiles()){ 
      pw.println("<td>");
      pw.println("<img src=\"" + f.getPath() + "\">");
      pw.println("</td>");
  }   

  pw.println("</tr>");
  pw.println("</table>");
  pw.println("</body>");
  pw.println("</html>");

}

在Eclipse中,内部web浏览器如下所示(下图)

Eclipse内部web浏览器的打印屏幕

  ServletContext context=request.getServletContext();
  String path=context.getRealPath("upload");

  File fl=new File(path);
  PrintWriter pw=response.getWriter();
  response.setContentType("text/html");

  pw.println("<html>");
  pw.println("<head>");
  pw.println("<style type=\"text/css\">");
  pw.println("img{display:block-inline;width:100px;height:100px;");
  pw.println("</style>");
  pw.println("</head>");
  pw.println("<body>");
  pw.println("<table border=\"1\">");
  pw.println("<tr>");

  LinkedHashMap<Integer, String> hm=new LinkedHashMap<Integer,String>();
  int imageIndex=-1;
  for(File f:fl.listFiles()) {        
      if(f.getName()!=null){
          if(f.getName().endsWith(".bmp"))
              hm.put(++imageIndex, f.getName());
      }               
  }

  Iterator<String> pic=hm.values().iterator();

  while(pic.hasNext()){
      pw.println("<img src=\"upload/" + pic.next() + "\"/>");
  }


  pw.println("</tr>");
  pw.println("</table>");
  pw.println("</body>");
  pw.println("</html>");
MyWebProject
 |-- src
 |    :
 |
 |-- web
 |    |-- META-INF
 |    |    `-- MANIFEST.MF
 |    |-- WEB-INF
 |    |    `-- web.xml
 |-- upload (the place where I keep pictures)
 :    

共有1个答案

孔权
2023-03-14

想想你在做什么。有一个服务器,它的磁盘上有映像。还有一个浏览器,它将运行在一台不同的机器上,可能离服务器几十英里远。

servlet向浏览器发送以下内容:

<img src="C:\Documents and Settings\Administrator\My Documents\Eclipse\zadatak\WebContent\WEB-INF\upload\someIage.jpg"/>

这只有在以下情况下才起作用

    null

有了这样一个servlet(假设它映射到URL/image,并将图像的ID作为参数)之后,已经有的servlet应该会生成以下代码:

for (String id: idsOfTheImageToDisplay){ 
  pw.println("<td>");
  pw.println("<img src=\"/image?" + id + "\"/>");
  pw.println("</td>");

}

此外,BMP也不是一个好的web格式,因为它不需要处理,因此会消耗大量的带宽。例如,您应该将图像转换为JPEG文件。

 类似资料:
  • 我有一个从数据库中检索图像路径的程序。程序正在eclipse浏览器中成功检索图像,但未在任何web浏览器中检索。我有3页,第一页。登录名。jsp 2。指数jsp 3。LoginServlet。Java语言

  • 后端:Express服务器,带npx create-Express-api后端 Frontend: Next.js,带npx create-react-app前端 我已经在我的根文件夹中实现了这些命令,并尝试运行npm start xxx来检查它们是否还在工作。但是它们在我的http://localhost:3000中不起作用,尽管它们在此链接中起作用http://172.27.178.192:3

  • 问题内容: 如何处理HTML页面中的TIFF文件? 我想在HTML页面中显示TIFF文件。 我尝试使用嵌入式标签,对象ID,IMG等。但是我无法在HTML页面中显示图像(TIFF)。 我在项目中没有使用Java,.NET或其他任何东西。我仅使用HTML。 更新:Safari支持TIFF图像加载。如何在其他浏览器(IE,Mozilla,Firefox等)中加载TIFF图像? 我无法安装第三方插件或控

  • 我正面临一个奇怪的问题。我已经把所有东西都放在php.ini文件里了。但是我不能在浏览器中显示任何错误。我google设置了. ini文件,并做了所有需要的事情。但是我仍然不能在浏览器中显示错误信息。我的PHP ini设置, 我尝试使用以下代码查看错误消息, 实际上文件示例不可用。所以它必须显示致命错误。但它显示的是空白页。 你能告诉我怎么解决这个问题吗?我不知道我错过了什么。

  • 问题内容: 我终于设法让我的Java小程序在浏览器中运行,但是现在我面临一个问题,那就是我的图像都不会显示。唯一显示的是在applet屏幕中绘制的黑色文本。 为了使该applet完全起作用,我不得不将其作为罐子导出并自己签名。现在,我想知道为什么图像无法显示。我检查了一下,jar文件确实包含了所有图像文件。同样,小程序在Eclipse中运行得很好。 这可能是什么问题? 是应该访问的第一个图像。 另

  • 问题内容: 如何在Web浏览器中的.html页面上显示pdf? 问题答案: 我使用的是Google文档可嵌入的PDF查看器。这些文档不必上传到Google文档,但必须在线提供。