File file=new File("path");
FileInputStream input=new FileInputStream(file);
byte[] buffer = new byte[8192];
int bytesRead = 0;
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
input.write(buffer, 0, bytesRead);
}
map=baos.toByteArray();
将这map二进制数组存入数据库就可以了!
FileInputStream input=new FileInputStream(file);
byte[] buffer = new byte[8192];
int bytesRead = 0;
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
input.write(buffer, 0, bytesRead);
}
map=baos.toByteArray();
将这map二进制数组存入数据库就可以了!
解决方案 »
- lucene索引搜索排序问题---在线等着!!!
- ibatis问题,为什么提示找不到SqlMapConfig.xml
- flex新手,求flex开发的工作流设计器源码
- 谁有做好的struts框架的运动会成绩管理系统,帮帮忙,给一个参考参考,
- 一个菜鸟问题```
- jbuilder里面打开jsp文件可以用别的关联软件打开吗?
- 关于JavaBean的基础问题(在线等待,进者有分)
- 用Pdf格式生成报表时中文无法显示,换行?
- ****>weblogic6.1环境下,import一个包,在编译时出错,提示找不到!怎么回事??
- 关于数据库查询,只写了以下东西,没有看到sql语句。是怎样得到数据的?
- 哪个大侠有在JSP页面里录入数据时用键盘的上、下、左、右键控制移动的javascript代码
- 有那位大哥有“二级搜索引擎”的原码接小弟看看??
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.lang.*" %>
<%@ page import="com.jspsmart.upload.*" %>
<%@ page import="DBstep.iDBManager2000.*"%>
<%
//实例化上载bean
com.jspsmart.upload.SmartUpload mySmartUpload=new com.jspsmart.upload.SmartUpload();
//初始化
mySmartUpload.initialize(pageContext);
//设置上载的最大值
mySmartUpload.setMaxFileSize(500 * 1024*1024);
//上载文件
mySmartUpload.upload();
//循环取得所有上载的文件
// for (int i=0;i<mySmartUpload.getFiles().getCount();i++){
//取得上载的文件
com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
if (!myFile.isMissing())
{
//取得上载的文件的文件名
String myFileName=myFile.getFileName();
//取得不带后缀的文件名
String suffix=myFileName.substring(0,myFileName.lastIndexOf('.'));
//取得后缀名
String ext= mySmartUpload.getFiles().getFile(0).getFileExt();
//取得文件的大小
int fileSize=myFile.getSize();
//保存路径
String trace="c:/"+myFileName;
//取得别的参数
String explain=(String)mySmartUpload.getRequest().getParameter("text");
String send=(String)mySmartUpload.getRequest().getParameter("send");
//将文件保存在服务器端
myFile.saveAs(trace,mySmartUpload.SAVE_PHYSICAL);
//下面的是将上载的文件保存到数据库中
//将文件读到流中
java.io.File file = new java.io.File(trace);
java.io.FileInputStream fis = new java.io.FileInputStream(file);
//打开数据库
ResultSet result=null;
String mSql=null;
PreparedStatement prestmt=null;
DBstep.iDBManager2000 DbaObj=new DBstep.iDBManager2000();
DbaObj.OpenConnection();
//将文件写到数据库中
mSql="insert into list (name,password,size,date,MarkBody) values (?,?,?,?,?)";
prestmt =DbaObj.Conn.prepareStatement(mSql);
prestmt.setString(1, "aaa");
prestmt.setString(2, "0000");
prestmt.setInt(3, fileSize);
prestmt.setString(4, DbaObj.GetDateTime());
prestmt.setBinaryStream(5,fis,(int)file.length());
DbaObj.Conn.setAutoCommit(true) ;
prestmt.executeUpdate();
DbaObj.Conn.commit();
out.println(("上载成功!!!").toString());
}
else
{ out.println(("上载失败!!!").toString()); }
// }//与前面的if对应
%>
jsp上传图片到Oracle数据库
看看对你有没有帮助?
第一步:建立数据库
create table test_img(id number(4),name varchar(20),pic long raw); 第二步:(NewImg.html) <html><head><title>添加图片</title></head>
<body>
添加图片<br/>
<form method="post" action="insertNews.jsp">
图像ID:<input name="id" size="10">
<br/>
选择图像:<input type="file" name="image">
<br/>
<input type="submit" value="上传" name="submit" size="25">
<input type="reset" value="清除" name="clear" size="25">
<br/>
</form>
</body></html> 第三步:插入数据库(InsertImg.jsp) <%@ page language="java"%>
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*"%>
<%@ page import="java.text.*"%>
<%@ page import="java.io.*"%> <%
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@lubin:1521:b2bdb";
Connection con=DriverManager.getConnection(url,"demo","demo"); //插入数据库
String sql="insert into test_img values (?,?,?)";
//获取传值ID
String id=request.getParameter("id");
//获取image的路径
String kk=request.getParameter("image");
//转换成file格式
File filename=new File(kk); //将文件的长度读出,并转换成Long型
long l1=filename.length();
int l2=(int)l1; //以流的格式赋值
FileInputStream fis=new FileInputStream(filename); PreparedStatement ps =con.prepareStatement(sql);
ps.setString(1,id);
ps.setString(2,filename.getName());
ps.setBinaryStream(3,fis,l2);
//ps.setBinaryStream(3,fis,fis.available());
ps.executeUpdate();
//ps.execute();
ps.close();
fis.close();
out.println("ok!!!");
%> 第四步:显示图片(ShowImg.jsp) <%@ page language="java" import="java.sql.*"%>
<%@ page import="java.io.*"%>
<%@ page contentType="text/html;charset=gb2312"%> <%
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@lubin:1521:b2bdb";
String image_id = (String) request.getParameter("ID"); Connection con=DriverManager.getConnection(url,"demo","demo");
PreparedStatement sql=con.prepareStatement("select * from test_img WHERE id = " + image_id);
ResultSet rs = sql.executeQuery(); rs.next();
//输入img字段内容到in
InputStream in = rs.getBinaryStream("img"); //以下可是任何处理,比如向页面输出: response.reset();
//此处的image/jpeg似乎与显示的图片格式无关
//因为我显示jsp和gif都没有错误
response.setContentType("image/jpeg");
byte[] b = new byte[1024];
int len;
while((len=in.read(b)) >0)
response.getOutputStream().write(b,0,len); in.close();
rs.close();
%>