我剛剛學會了如何使用Struts 2文件上傳器上傳文件。上傳完成後,它將文件保存爲.tmp文件。將tmp文件保存到數據庫
我想將這個.tmp文件存儲在數據庫中,然後在服務器端檢索它,然後在客戶端將它顯示爲圖像(就是這樣)。
爲此,我使用一個byte []數組?
我該怎麼做?
編輯1: 我正在尋找的tmp文件轉換爲圖像以及在struts /客戶端代碼顯示圖像所需的Java服務器端代碼 - 即name="object.image"
我剛剛學會了如何使用Struts 2文件上傳器上傳文件。上傳完成後,它將文件保存爲.tmp文件。將tmp文件保存到數據庫
我想將這個.tmp文件存儲在數據庫中,然後在服務器端檢索它,然後在客戶端將它顯示爲圖像(就是這樣)。
爲此,我使用一個byte []數組?
我該怎麼做?
編輯1: 我正在尋找的tmp文件轉換爲圖像以及在struts /客戶端代碼顯示圖像所需的Java服務器端代碼 - 即name="object.image"
嘗試使用這些類型The BLOB and TEXT Types
編輯
但戴夫·牛頓是對的!
簡單的代碼,只需要改變fileinputstream
您inputstream
FileInputStream fis = null;
PreparedStatement ps = null;
try {
conn.setAutoCommit(false);
File file = new File("myPhoto.png");
fis = new FileInputStream(file);
ps = conn.prepareStatement(INSERT_PICTURE);
ps.setString(1, "001");
ps.setString(2, "name");
ps.setBinaryStream(3, fis, (int) file.length());
ps.executeUpdate();
conn.commit();
} finally {
ps.close();
fis.close();
}
編輯1級
如果您正在尋找的代碼轉換TMP爲JPEG或其他圖像格式,只需讀取TMP並保存爲JPEG或其他圖片格式(我認爲你正在從客戶端接收圖片格式,但如果沒有tmp擴展名,我不認爲這個任務是真實的!)
個人而言,我傾向於建議不要這樣做 - 將文件保存在文件系統上nd將數據回傳。 –
不,謝謝... – ThreaT
不是一個很好的方式去做... –