关于 向Mysql 插入 Blob字段 转
来源:互联网 发布:android 电商app 源码 编辑:程序博客网 时间:2024/04/29 11:54
testblob.jsp
<%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*" %><%@ page import="java.util.*"%><%@ page import="java.text.*"%><%@ page import="java.io.*"%> <html ><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>test blob</title></head><body><%java.sql.Connection conn; java.lang.String strConn; Class.forName("org.gjt.mm.mysql.Driver").newInstance(); conn= java.sql.DriverManager.getConnection("jdbc:mysql://localhost/test","root",""); %>
<%
InputStream str=request.getInputStream();
out.print("<br> File size :"+str.available());
String sql="insert into test(id,pic) values(?,?)"; PreparedStatement pstmt=conn.prepareStatement(sql); pstmt.setString(1,"1");pstmt.setBinaryStream(2,str,str.available()); pstmt.execute();
out.println("Success,You Have Insert an Image Successfully");pstmt.close();
%> <a href="readblob.jsp">查看图片</a><a href="postblob.html">返回</a></body></html>
readblob.jsp
<%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*, javax.sql.*" %><%@ page import="java.util.*"%><%@ page import="java.text.*"%><%@ page import="java.io.*"%> <html > <head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>Read Blob</title></head>
<body><% java.sql.Connection conn;ResultSet rs=null;Class.forName("org.gjt.mm.mysql.Driver").newInstance(); conn= java.sql.DriverManager.getConnection("jdbc:mysql://localhost/test","root",""); Statement stmt=conn.createStatement(); rs=stmt.executeQuery("select * from test where id='1'");
if(rs.next()){Blob b = rs.getBlob("pic");int size =(int)b.length();out.print(size);
InputStream in=b.getBinaryStream();byte[] by= new byte[size];response.setContentType("image/jpeg");
ServletOutputStream sos = response.getOutputStream();int bytesRead = 0;while ((bytesRead = in.read(by))!= -1){ sos.write(by, 0, bytesRead);}
in.close();sos.flush();}%></body></html>
注意 mysql的 blob 有 3种类型 一种是 blob 2的16次方(65536)才60多k 一种是 longblob2的32次方(4G) 还有一种是 textArea类型 2的16次方(65536)
注意哦否则只能插入 一半哦!!!!
textArea 时
将
##############################
response.setContentType("image/jpeg");
ServletOutputStream sos = response.getOutputStream();int bytesRead = 0;while ((bytesRead = in.read(by))!= -1){ sos.write(by, 0, bytesRead);}
换成
response.setContentType("text/html");
in.read(by);
out.print(new String(by));
就可以输出 到网页了
in.close();sos.flush();- 关于 向Mysql 插入 Blob字段 转
- C#.net向oracle的blob字段插入文件
- java向Oracle数据库中插入blob字段数据
- 向oracle表的BLOB字段插入图片的方法
- mysql sql 语句插入 blob字段的插入
- Blob 字段的插入
- 深入浅出Hibernate之向Mysql插入BLOB,CLOB数据
- Hibernate 向 MySQL 插入 BLOB 类型发生错误 解决办法。
- 关于sqlite的文本字段插入blob数据
- oracle和mysql的Blob字段的读取和插入
- Perl: 向mysql数据库插入二进制字段
- mysql操作BLOB字段
- mysql blob字段导入
- oracle中如何向带有blob字段类型的表插入数据
- oracle-向blob字段插入图片,并查看每张图片大小---oracle
- java 插入 blob字段 clob字段
- Hibernate向mysql数据库插入中文字段乱码问题
- C#读取Mysql blob字段
- 25条哈佛成功金言
- 桥接模式
- ni yao jian chi xia qu!
- 图像显示、图像文件输入输出
- ASP.NET状态存储管理九大兵器之七(其他物理数据存放媒体)
- 关于 向Mysql 插入 Blob字段 转
- 从xml中获取数据
- oracle SQL性能优化
- 男人听到女人怀孕的N个表情 (转载)
- ASP.NET状态存储管理九大兵器之八(应用程序)
- Java 数据对象(JDO)介绍(一)
- 元数据的例子
- 三步学会Java Socket编程
- JDBC 入门(一)