2016-04-23 69 views
0

我有一個web項目,並且我已經在項目的web文件夾中上傳了imagesImage。我想加載一個位於uploadedImage文件夾內的圖像。 Im在Tomcat服務器中部署war文件。我編碼如下使用jsp加載存儲在web文件夾內的文件夾中的圖像

  <a href="home.jsp" class="btn btn-default bg-light-gray">Upload a new Image</a> 

     </div> 

    </div> 
    <% 
     String fname = (String) request.getAttribute("name"); 
    String pathImage = "C://bimla//Dev//java//OCRSystem//WebContent//uploadedImage//"; 
    System.out.print("uploaded image"+fname); 
     session.setAttribute("filename", fname); 
     fname = fname + ".jpg"; 
     System.out.println("with extension"+fname); 
     String path = ""; 
     if (request.getAttribute("name") != null) { 
      path = request.getAttribute("name").toString(); 
     } 
    %> 

    <div class="row"> 
     <div id = "display" class="col-lg-8 center-block modal-content"> 
     <img src="C:\\bimla\\Dev\\java\\OCRSystem\\WebContent\\uploadedImage\<%=fname%>" width="600" height="400"/> 


     </div> 

    </div> 

但圖像不顯示。在瀏覽器圖像中複製粘貼路徑時正確顯示。你有什麼主意嗎?

回答

0

你的頁面通過http加載(我假設)。現在幸運的是,網站(例如,通過http進入的所有內容)無法訪問本地文件系統(例如,以file:///C:/開頭的網址)

在相關說明中,請勿構建Web應用程序允許將文件直接上傳到Web應用程序的文件夾中。這是不好的

  • 安全
  • 備份
  • 更新
  • 調動

而是上傳到其他位置,包括下載的servlet。

旁註:你可能需要重複\\逃脫在各種情況下(HTML有沒有這樣的限制,雖然)反斜槓,但你絕對只需要單/如果您選擇使用斜線作爲目錄分隔符(這不是你的問題雖然)

快速修復:您應該通過HTTP加載圖像。假設圖像與您的JSP在同一個Web應用程序中,使用<img src="<%=request.getContextPath()%>/uploadImages/<%=fname%>">(或類似的 - 您沒有提供足夠的信息用於確定的語句)將通過http加載圖像。請注意,這隻能快速修復您當前的問題。正確的解決方法是將圖像上傳到Web應用程序目錄之外的文件夾(或數據庫或存儲) - 出於上述原因。

+0

雖然我刪除了雙線,但它仍然不顯示圖像 –

+0

這只是一個附註。主要信息是混合http內容和文件內容:它不起作用。 –

相關問題