2013-07-30 31 views
0

我想在jsp页面上显示来自服务器的图像。图像存储在服务器的文件夹中。我正在使用servlet,我的代码是:如何使用webservices或servlet从服务器在jsp中显示图像?

 File folderFile = new File(homeDir); 
     File[] uplodedFiles = folderFile.listFiles(); 
     for (int i = 0; i < uplodedFiles.length; i++) { 
      byte[] imageBytes = getImageAsBytes(uplodedFiles[0].getAbsolutePath()); 
      response.setContentType("image/jpeg"); 
      response.setContentLength(imageBytes.length); 
      response.getOutputStream().write(imageBytes); 
      response.getOutputStream().flush(); 
     } 

如何在jsp页面上显示图像?请给我代码建议。

+1

您无法在一个响应中发送多个图像。一个图像的请求 - >一个图像的一个响应。 –

+0

@ JB Nizet谢谢..那么怎么可能呢?请给我另一个建议。 –

+0

您的JSP必须为每个要显示的图像生成一个''。然后,browsr将为每个图像发送一个请求,并且servlet必须根据imageId参数读取并发送适当的图像。 –

回答

0

只要您的图像存储在可由服务器提供的文件夹中,您只需将元素添加到JSP页面并使其'src'属性保存图像的路径即可。

例如,假设您将图像存储在可由服务器提供的名为'images'的文件夹中。你必须在你的JSP页面中插入一个元素,例如:

<img src="http://localhost:8080/images/image_name.jpg" /img> 
0

你可以这样做

try{ 
     String fileName = request.getParameter("image");    
     FileInputStream fis = new FileInputStream(new File("d:\\"+fileName)); 
     BufferedInputStream bis = new BufferedInputStream(fis);    
     response.setContentType(contentType); 
     BufferedOutputStream output = new BufferedOutputStream(response.getOutputStream()); 
     for (int data; (data = bis.read()) > -1;) { 
      output.write(data); 
     }    
     } 
     catch(IOException e){ 

     }finally{ 
      // close the streams 
     } 

对于通过图像路径,您可以使用SRC这样

<img src="<%=request.getParameter("image")%>"> 
+0

@ Vignesh Vino谢谢。 String fileName = request.getParameter(“image”);是对的?我认为它会是request.serParameter(“image”); –

+0

使其相应..只是一个例子 –

+0

此代码可以从服务器获取所有图像吗? –

相关问题