1. java如何將圖片保存在資料庫中
一般都是這樣的,就是在你伺服器有一個專門放置圖片的文件夾,然後資料庫保存的是你伺服器圖片的路徑。需要用的時候就去資料庫裡面取路徑。得到路徑以後你想怎麼處理圖片是你的事情了。
至於如何去資料庫取路徑這個就是簡單的db操作。
載入驅動類:
Class.forName(DBDriver);
獲取連接:
Connection
conn
=
DriverManager.getConnection(url,username,password);
創建操作對象:
PreparedStatement
stmt
=
con.prepareStatement(sql);
執行操作:
ResultSet
rs
=
stmt.executeQuery();
遍歷結果:
List
list
=
new
ArrayList();
while(rs.next()){
//具體操作,通常用rs.getString(name)取值
Image
img
=
new
Image();//圖片類對應你資料庫中圖片表格
img.setSrc(rs.getString("src"));//假設你資料庫中image表中圖片地址欄位是src
list.add(img);
}
記得關閉資源:
rs.close();
stmt.close();
con.close();
看你的意思是已經取出來了不知道怎麼顯示:
你取出來之後可以把圖片放在一個list裡面然後去頁面上遍歷這個list
<c:forEach
var="chakan1"
items="list">
<tr>
<td>
<img
src="${chakan1.src}"/>
</td>
</tr>
</c:forEach>
大致應該是這樣
2. 如何使用JAVA將網頁保存為圖片
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class F {
public static void main(String[] args) {
try {
//獲取屏幕大小
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
//截圖
BufferedImage bim = new Robot()
.createScreenCapture(new Rectangle(0, 0, dim.width,
dim.height));
ImageIO.write(bim, "jpg", new File("C:\\test.jpg"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
3. 在java中如何將圖片保存到資料庫
存取圖片就是二進制數據的存取問題
把圖片以文件的時候讀入到程序中
轉換成byte
以byte顯示保存到資料庫中
另外,access保存文件~~不合適~
---------------------------
顯示和存儲沒關系,看你要怎麼顯示了~顯示到瀏覽器?
4. java web項目中有很多的圖片,如何存放
一般有兩種情況,
一種是前端開發需要顯示的圖片,這個是頁面構成必須的元素,一般這些會做 動靜分離,後台介面 跟 前端資源會部署在不同的伺服器上,有不同的優化,一般會有轉發的伺服器,判斷是後台介面,就轉發到後台的伺服器,如果是前端資源,就轉發到前台的伺服器。一般情況下,前端伺服器,跟後台的伺服器,是分離開的,有不同的人去管理,如果項目小的話,可能就全放在一個。這個優化的化,你可以去了解下 CDN原理。這個是用來優化靜態資源載入情況的。
另一種情況是,顯示的圖片,不是前端構成的,是用戶上傳文件產生的,這種情況下,現在一般有專門的對象存儲,用過 七牛雲,跟阿里的。這個的邏輯是文件上傳的時候,不是上傳到我們自己的伺服器,上傳到專門的雲伺服器,我們自己資料庫只需要保存這些上傳文件的地址,真正使用的時候,把連接給前端,前端自動會根據內容到專門的雲伺服器上去獲取。所有的安全,優化,帶寬,緩存命中,這些都有由雲伺服器去保證。 簡單來說,只有有錢,這些東西根本不會成為你項目的瓶頸。
作為技術,我們討論的應該不是這些。圖片會做備份,這個可以有專門的磁碟陣列去實現,簡單來說,就是上傳的內容保存到磁碟的時候,會自動多保存幾個備份到不同的磁碟上。還是那句話,多去了解下CDN的原理,最後這段,個人理解,不一定對。