日期:2014-05-18  浏览次数:20610 次

struts+Hibernate上传三个二进制文件到数据库
请问同时上传三个二进制图片文件到数据库中怎么做用struts+Hibernate,急前天面试后用作人单位就我做一个星期一给他,数据库三个字段,一个id,一个图片说明,一个存二进制图片文件

------解决方案--------------------
使用struts的fileupload。。。上传后获得的数据直接是二进制了吧。。。可以直接存。。。
------解决方案--------------------
不知道这个有用没!
<%@ page language= "java " import= "java.sql.*, java.io.* " %>
<%
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver ");
Connection conn=DriverManager.getConnection( "jdbc:odbc:image ");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
int photoid;
photoid = Integer.parseInt(request.getParameter( "photoid "));
String sql= "select * from image where id= "+photoid;
ResultSet Rs=stmt.executeQuery(sql);
InputStream in = null;
int len = 10 * 1024 * 1024;
%>

<%
while(Rs.next())
{
in = Rs.getBinaryStream( "image ");
response.reset(); //返回在流中被标记过的位置
response.setContentType( "image/gif "); //或gif等
%>
<%
OutputStream toClient = response.getOutputStream();
byte[] P_Buf = new byte[len];
int i;
while ((i = in.read(P_Buf)) != -1) {
toClient.write(P_Buf, 0, i);
}
in.close();
toClient.flush(); //强制清出缓冲区
toClient.close();
%>

<%
}
%>