2013-07-30 55 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

此代碼可以從服務器獲取所有圖像嗎? –

相關問題