画像、wordなどのデータベースを保存し、読み出します.

2396 ワード

データベースに画像などを保存するフィールドタイプをblobに設定
インタフェース、アップロードウィンドウ
<div id="uploadWin" class="easyui-window" title="My Window" closed="true">
					<br>
					<strong> :</strong>
					<br>
					<div>1. <br>2. gif jpg 。</div>
					<br>
					     :<input type="file" name="file" id="theFile"/>  
					        <br/>  
					        <input type="button" value=" " onClick="return close_upload();"/> 
					        <input type="button" value=" " onclick="return canclePhoto();"/> 
					        <div id="upMessage" style="displan:hidden"></div>
					</div>
				</div>

 
アクション層
@Resource
private SystemService systemService;
private File file;
public File getFile() {
		return file;
}

public void setFile(File file) {
	this.file = file;
}

systemService.saveCommanInfo(this.getFile());

 
サービス層
@Resource
private SystemDao systemDao;
public String saveCommanInfo(List<Object> list,File file) throws Exception {
		return systemDao.saveCommanInfo(file);
}

 
dao層
Connection con = DB.getConnection();
		PreparedStatement  psta=con.prepareStatement("insert into zxtagl_tb_psrole_user_comman(sessions,username,name,photo,isconvener) values(?,?,?,?,?)");
		System.out.println(" "+file);
		if(null!=file) {
			InputStream in=new BufferedInputStream(new FileInputStream(file));
			psta.setInt(1, 1104);
			psta.setString(2, "gzry");
			psta.setString(3, " ");
			psta.setBinaryStream(4, in, (int)file.length());
			psta.setString(5, "N" );
			
			
			psta.execute();
			in.close();

 
これで簡単に画像やwordなどをバイナリ形式でデータベースに保存できます
次に読み方についてお話しします
Blob blob=null;
while(rs.next()) {
	blob=rs.getBlob(1);
	........
}
if(null!=blob) {
	// 
	InputStream in=blob.getBinaryStream();
}