A. JSP 從資料庫中如何取得圖片的路徑
我的筆記:
6:對資料庫存取圖片進行的操作:
核心思想:通過二進制流的形式進行存儲和讀取。
具體:存儲圖片:一般是通過文件上傳的方式進行存儲的
1.首先通過request獲得表單中圖片的地址
2.然後根據這個路徑可以使FileInputStream獲得文件輸入流
3.pstmt.setBinaryStream(i,
fis,
fis.available())
最後pstmt.executeUpdate();就完成整個插入語句了。
讀取:1.根據url的id傳一個對應資料庫摸個圖片的id號
2.根據這個id執行查詢,通過rst.getBinaryStream(1)返回一個輸入流(裡面存的是圖片)
3.讀輸入流,放到位元組數組中,再通過response返回一個能輸出二進制流的ServletOutputStream實例(ServletOutputStream
sos=
response.getOutputStream();
),
4.通過這個輸出流把位元組數組的位元組流寫出
希望對你有所幫助哈
B. 誰有資料庫中存的是圖片路徑,然後jsp頁面顯示圖片出來
1、准備要顯示的圖片,並創建一個最簡單的jsp頁面,運行起來。
C. jsp從資料庫中讀取圖片路徑顯示不出來
做個請求,然後返回的是一個文件流,把src設置為這個流的請求即可展示
D. jsp頁面從資料庫中取圖片
把圖片圖片放到一個文件夾里如images下有1.jpeg
查詢資料庫得到數據1.jpeg
將查詢到的數據和圖片地址進行拼接 ……/images/<%=值%>
E. 怎麼用jsp從mysql資料庫中提取圖片
1.去文件名
也就是
你的圖片
實際上是存在你的
項目
中的
讀的只是你的文件名加上
路徑
就行了,
2.添加圖片的時候,以IO的形式,把圖片真真讀到資料庫,取的時候,取出來,進行一次轉換,顯示圖片。
我知道的就是這兩種思路
希望對你有用!
F. jsp在資料庫讀取圖片然後輸出到頁面
首先JSP顯示圖片都是非常小的,除非你直接用JSP圖片,(可以把圖片上傳到網上,用迅雷下載地址,那個地址就是那JSP圖片了)顯示圖片是有大小限制的!,好像保持在60*60以內吧。不會超過80*80就是了,或者你直接當成背景的圖片沒限制!
G. 資料庫中照片怎麼在jsp中顯示
用JSP從資料庫中讀取圖片並顯示在網頁上:
環境mysql+tomcat:
<1>先在mysql下建立如下的table. 並insert圖像
mysql.sql文件如下:
CREATE TABLE photo (
photo_no int(6) unsigned NOT NULL auto_increment,
image blob,
PRIMARY KEY (`photo_no`)
)
<2>把show.jsp放在tomcat的任意目錄下. show.jsp作用:從資料庫中讀出blob,並產生image/jpg.
show.jsp文件如下:
<%@ page contentType="text/html; charset=gbk" %>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*, javax.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.math.*"%>
<%
String photo_no = request.getParameter("photo_no");
//mysql連接
Class.forName("com.mysql.jdbc.Driver").newInstance();
String URL="jdbc:mysql://localhost:3306/job?user=root&password=111111";
Connection con = DriverManager.getConnection(URL);
//oracle連接
//String URL="jdbc:oracle:thin@localhost:1521:orcl2";
//user="system";
//password="manager";
//Connection con = DriverManager.getConnection(URL,user,password);
try{
// 准備語句執行對象
Statement stmt = con.createStatement();
String sql = " SELECT * FROM PHOTO WHERE photo_no = "+ photo_no;
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
Blob b = rs.getBlob("photo_image");
long size = b.length();
//out.print(size);
byte[] bs = b.getBytes(1, (int)size);
response.setContentType("image/jpeg");
OutputStream outs = response.getOutputStream();
outs.write(bs);
outs.flush();
rs.close();
}
else {
rs.close();
response.sendRedirect("./images/error.gif");
}
}
finally{
con.close();
}
%>
<3>把如下文件放在show.jsp的同一目錄下.
index.html文件如下:
<HTML>
<HEAD>
<TITLE> 圖像測試 </TITLE>
</HEAD>
<BODY>
<TABLE>
<TR>
<TD>圖像測試</TD>
</TR>
<TR>
<TD><img src="show.jsp?photo_no=2"></TD>
</TR>
</TABLE>
</BODY>
</HTML>
H. jsp從資料庫中讀取圖片顯示不出來
/SkyShop/images/brand/2010/02/09/09/4599577f-7fca-4163-a752-24a3e331ea39.jpg
像一樓說的是正解,不行的原因可能是根的位置問題,自己對著檢查一下。
另外你這個路徑太長。。太不好測試了,先弄個簡單點的。
你右鍵點圖片,屬性的地址應該是
http://localhost:8080/SkyShop/images/brand/2010/02/09/09/4599577f-7fca-4163-a752-24a3e331ea39.jpg
這個才是你的伺服器上圖片的地址。E:的是計算機的真實路徑,和伺服器上的絕對路徑,相對路徑不是一回事。伺服器啟動後,只能訪問當前伺服器路徑之內的文件,而windows下打開html文件不受此限制,所以不能用計算機的路徑。
保存到tomcat中就是保存到項目中了,如果你希望保存到源代碼中,可以去改tomcat的server.xml配置文件,
<Context path="/" docBase="D:\workspace\SkyShop\ROOT"
debug="0" privileged="true">
</Context>
並刪除webapps下的內容。
或者以流的方式將寫到圖片寫到資料庫中。
最後建議你去看看關於相對路徑的文章,篇幅有限,說的還是不太清楚。
I. jsp從資料庫中取出圖片地址並顯示到前台頁面
把字元串斷開 ,rs放進去。像下面這樣寫:
out.println("<img src='"+rs.getString(16).substring(47)+"' width='100' height='100' align='center'/>");
'"這三個是一個單引號一個雙引號,後面的反過來,順序別搞錯了。
J. 如何用JSP從SQL server資料庫中讀取圖片並顯示在網頁上
你可以把圖片的路徑作為參數放在資料庫的某一個欄位中,需要用時提取出來即可.
例如:
"image/pic1.jpg" 這是一個相對路徑,你把這個字元串存入資料庫後,需要用時只需從資料庫提取出來就行,
<img src="
<%
String str=select * from 表名 where 條件;
ResultSet rs = null;
Statement stmt = conn.createStatement();
rs=stmt.executeQuery(str);
str=rs.getString("欄位名");
out.print(str);
%>">