2017-03-10 74 views
0

enter image description here無法與存儲在數據庫中的路徑顯示圖像

<%@page import="java.sql.*"%> 
<%@page import="com.binod.db.DBConnection"%> 
<jsp:include page="header.jsp"/> 
<center> 

<div class="content"> 
<table border="1" cellpadding="5" class="full"> 
<tr> 
<td>Cat_id</td> 
<td>cat_name</td> 
<td> 
Cat_Path 
</td> 
</tr> 

<% 
ResultSet rs; 
DBConnection db=new DBConnection(); 
db.open(); 
String query="Select * from `category`"; 
PreparedStatement preparedStatement =db.getPreparedStatement(query); 
rs=preparedStatement.executeQuery(); 
while(rs.next()){ 
    int cat_id=rs.getInt("cat_id"); 
    String cat_name=rs.getString("cat_name"); 
    String cat_path=rs.getString("cat_image"); 
    System.out.println(cat_path); 

    %> 
    <tr> 
    <td><%=cat_id %></td> 
    <td> <%= cat_name %></td> 
    <td class="Images"><img src="<%= cat_path%>" alt="Image not found"/></td> 

    </tr> 
    <% 
} 

%> 


</table> 

</div> 

</center> 

<jsp:include page="footer.jsp"/> 

MY控制檯輸出:存儲在數據庫中的圖像路徑

C:\用戶\ Binod \工作空間\店\圖片\類別\ b:C:\ Users \ Binod \ workspace \ shop \ Pictures \ Category \屏幕截圖(5).png C:\ Users \ Bbb.jpg C:\ Users \ Binod \ workspace \ shop \ Pictures \ Category \ bbb.jpg Binod \ workspace \ shop \ Pictures \ Category \屏幕截圖(5).png C:\ Users \ Binod \ workspace \ shop \ Pictures \ Category \ Screenshot( 5).png C:\ Users \ Binod \ workspace \ shop \ Pictures \ Category \ Screenshot(5).png C:\ Users \ Binod \ workspace \ shop \ Pictures \ Category \ Screenshot(5).png C :\ Users \ Binod \ workspace \ shop \ Pictures \ Category \ Screenshot(6).png

+0

您是否將您的機器用作客戶端以及服務器? – Darshit

+0

控制檯意味着瀏覽器控制檯?您可以在渲染jsp的時候爲瀏覽器控制檯添加更多細節或截圖嗎? – Ankit

+1

我不認爲系統路徑可以用於域。你想要'/ shop/Pictures/Category/file.jpg'或'http:// localhost/shop/Pictures/Category/file.jpg'。 – hungerstar

回答

0

也許你應該避免使用圖像或文件的物理路徑。

只是放在你工作項目中的資源(如圖片,文件)。

,並保存圖像的相對路徑的DATABSE。

0

1.你的JSP無法顯示圖像的原因是因爲「\」。單個「\」是一個轉義序列,它不被讀作文件分隔符。爲了克服它, 「\」與「\\」。

2.由於某些安全問題,Chrome不允許讀取本地文件。 Read here

爲了解決這個問題,你可以做的是先用新路徑替換original_path,而不是「\\」,然後創建一個到另一個jsp/servlet的鏈接,將new_path轉換爲original_path,然後然後顯示它。 事情是這樣的:

String original_path="G:\images"; 
String new_path=original_path.replace("\","\\"); 

讓我們假設你的2nd.jsp是將顯示圖像,然後 在主JSP文件中創建一個lionk

<a href="2nd.jsp?new_path="+new_path+"/>image</a> 

從您的第二個JSP文件,獲取參數並顯示文件。

相關問題