当前位置:首页 > 系统运维 > 正文内容

MySQL操作blob的经验研讨

a8116255316年前 (2010-05-14)系统运维13

以下的文章主要讲述的是MySQL操作blob的经验研讨,如果你在MySQL操作blob的实际操作中有不解之处时,你可以通过以下的文章对其的实际应用与功能有所了解,下面是文章的具体介绍,望你浏览完以下的内容会有所收获。

jsp(SUN企业级应用的首选)+MySQL(和PHP搭配之更佳组合) 记住 要用MySQL(和PHP搭配之更佳组合)的longblob类型来存默认的MySQL操作blob大小不够

数据库字段:id (char) pic (longblob)

转载请注明出处,这时我与我的知己的合作的结过

原来操作blob字段时都要先差个空值,在查blob,好麻烦,用prepareStatment就不用那么麻烦了,哈哈

postblob.heml页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xml(标准化越来越近了)ns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> </head> <body> <form action="testblob.jsp(SUN企业级应用的首选)" method="post" > <table width="291" border="1"> <tr> <td width="107">id </td> <td width="168"><input name="id" type="text" /></td> </tr> <tr> <td>file</td> <td><input name="file" type="file" /></td> </tr> <tr> <td><input type="submit" value="提交"/></td> </tr> </table> </form> </body> </html> testblob.jsp(SUN企业级应用的首选)  <%@ page contentType="text/html;charset=gb2312"%>   <%@ page import="java.sql.*" %> <%@ page import="java.util.*"%> <%@ page import="java.text.*"%> <%@ page import="java.io.*"%>   <html xml(标准化越来越近了)ns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> </head> <body> <%   String id=request.getParameter("id");  String file=request.getParameter("file");  out.print(id);  out.print(file);  FileInputStream str=new FileInputStream(file);  out.print(str.avAIlable());  java.sql.Connection conn;   java.lang.String strConn;   Class.forName("org.gjt.mm.MySQL(和PHP搭配之更佳组合).Driver").newinstance();   connjava.sql.DriverManager.getConnection("jdbc:MySQL(和PHP搭配之更佳组合)://localhost/test","root","");   String sql="insert into test(id,pic) values( , )";   PreparedStatement pstmt=conn.prepareStatement(sql);   pstmt.setString(1,id);  pstmt.setBinaryStream(2,str,str.available());   pstmt.execute();   out.println("Success,You Have Insert an Image Successfully");  pstmt.close();  %>   <a href="readblob.jsp(SUN企业级应用的首选)">查看图片</a> <a href="postblob.html">返回</a> </body> </html> readblob.jsp(SUN企业级应用的首选)  <%@ page contentType="text/html;charset=gb2312"%>   <%@ page import="java.sql.*, javax.sql.*" %> <%@ page import="java.util.*"%> <%@ page import="java.text.*"%> <%@ page import="java.io.*"%>   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xml(标准化越来越近了)ns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> </head> <body> <%  java.sql.Connection conn;  ResultSet rs=null;  Class.forName("org.gjt.mm.MySQL(和PHP搭配之更佳组合).Driver").newInstance();   connjava.sql.DriverManager.getConnection("jdbc:MySQL(和PHP搭配之更佳组合)://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[] bynew 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> 

注意:在用sos.write(by, 0, bytesRead);时,该 *** 把inputstream中的内容在一个新的页面中输出

如果本页中还有别的内容要输出的话,只有把上述 *** 改为,bytesRead = in.read(by)) ;

再用out.print(new String(by)); *** 输出结果,注意在这里不能用by.toString() *** ,该 *** 返回的是要输出内容的内存地址。MySQL(和PHP搭配之更佳组合)中有MySQL操作blob textarea类型大小了66536基本上放点小的东东就足够了,哈哈,但是现在的数码pic越来越大就只能用longblob了。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://www.2345hao.cn/blog/index.php/post/20246.html

分享给朋友:

“MySQL操作blob的经验研讨” 的相关文章

windows 7鼠标停顿怎么办?windows 7 usb鼠标停顿的原因以及解决

windows 7鼠标停顿怎么办?windows 7 usb鼠标停顿的原因以及解决

很多使用Windows 7系统的朋友都想小编反应,假如暂停使用电脑,鼠标会出现停顿现象,这是怎么回事呢 该怎么解决呢 下面就和小编一起去看下Windows 7 usb鼠标停顿的解决方法吧。 由于Windows 7系统中有一项USB选择性暂停造成的。这项设置主要为了节电,当他检测到用户没有对系统进行...

上帝不止一个 更多Windows7 快捷模式.

上帝不止一个 更多Windows7 快捷模式.

国外媒体CNET NEWS就这个“上帝模式”和微软Windows部门主管Steven Sinofsky进行邮件交流后得知,这其实只是众多快捷方式中的一个,Sinofsky在邮件里给出了十多个这类快捷方式的关键字符串。 它们的建立方法和之前的“上帝模式”一样,在任意位置新建的一个文件夹,然后改名即可...

windows 7查看电脑近期使用情况确定有没有被他人使用

windows 7查看电脑近期使用情况确定有没有被他人使用

我一个朋友最近装装了Windows 7,他总感觉有人用了他的电脑,但是一直不确定,他想知道有没有人动用他的电脑,问我有没有办法 我说设置一下就行了: 启动Windows 7,在搜索栏中输入编辑组,马上就搜索到了编辑组策略,点击即可启动程序编辑组策略。依次展开组策略左侧树形列表的计算机配置/管理模...

各个都很实用:windows 7系统电脑日常小技巧

各个都很实用:windows 7系统电脑日常小技巧

在使用Windows 7的时候很多用户对于系统的很多功能并不是很了解,也正是因为这样的不了解导致很多用户在使用Win 之后并不能体验Windows 7的功能便携和强大功能,导致很多用户对于Windows 7的认识还是比较模糊,不过为了让更多的朋友了解Windows 7的特点和便携应用,今天就为大家汇...

微软今天正式停止对windows 7的主流支持

微软今天正式停止对windows 7的主流支持

北京时间1月13日消息,根据计划,微软将于2015年1月13日正式结束对Windows 7SP1的“主流支持”,而这也标志着“扩展支持”阶段的开始,这个阶段将于2020年1月14日结束。 2013年10月份,微软终止销售独立的Windows 7系统安装包,并要求制造商于2014年10月份停止生...

Skylake平台不能通过USB接口装windows 7系统

Skylake平台不能通过USB接口装windows 7系统

Intel会在2015年推出Broadwell、Skylake两代14nm处理器,前者可以使用9系芯片组,Skylake升级到了LGA1151插槽,需要搭配新的100系列芯片组,但初期的Skylake-S又不能超倍频,所以今年Q2季度开始会很混杂。Skylake一代会支持DDR4,100系列芯片组升...