2022-10-27 348
以下的文章主要讲述的是MySQL操作blob的经验研讨,如果你在MySQL操作blob的实际操作中有不解之处时,你可以通过以下的文章对其的实际应用与功能有所了解,下面是文章的具体介绍,望你浏览完以下的内容会有所收获。
jsp(SUN企业级应用的首选)+MySQL(和PHP搭配之最佳组合) 记住 要用MySQL(和PHP搭配之最佳组合)的longblob类型来存默认的MySQL操作blob大小不够
数据库字段:id (char) pic (longblob)
转载请注明出处,这时我与我的知己的合作的结过
原来操作blob字段时都要先差个空值,在查blob,好麻烦,用prepareStatment就不用那么麻烦了,哈哈
postblob.heml页面
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxml(标准化越来越近了)ns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/> <title>无标题文档</title> </head> <body> <formaction="testblob.jsp(SUN企业级应用的首选)"method="post"> <tablewidth="291"border="1"> <tr> <tdwidth="107">id</td> <tdwidth="168"><inputname="id"type="text"/></td> </tr> <tr> <td>file</td> <td><inputname="file"type="file"/></td> </tr> <tr> <td><inputtype="submit"value="提交"/></td> </tr> </table> </form> </body> </html> testblob.jsp(SUN企业级应用的首选) <%@pagecontentType="text/html;charset=gb2312"%> <%@pageimport="java.sql.*"%> <%@pageimport="java.util.*"%> <%@pageimport="java.text.*"%> <%@pageimport="java.io.*"%> <htmlxml(标准化越来越近了)ns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/> <title>无标题文档</title> </head> <body> <% Stringid=request.getParameter("id"); Stringfile=request.getParameter("file"); out.print(id); out.print(file); FileInputStreamstr=newFileInputStream(file); out.print(str.available()); java.sql.Connectionconn; java.lang.StringstrConn; Class.forName("org.gjt.mm.MySQL(和PHP搭配之最佳组合).Driver").newInstance(); conn=java.sql.DriverManager.getConnection("jdbc:MySQL(和PHP搭配之最佳组合)://localhost/test","root",""); Stringsql="insertintotest(id,pic)values(?,?)"; PreparedStatementpstmt=conn.prepareStatement(sql); pstmt.setString(1,id); pstmt.setBinaryStream(2,str,str.available()); pstmt.execute(); out.println("Success,YouHaveInsertanImageSuccessfully"); pstmt.close(); %> <ahref="readblob.jsp(SUN企业级应用的首选)">查看图片</a> <ahref="postblob.html">返回</a> </body> </html> readblob.jsp(SUN企业级应用的首选) <%@pagecontentType="text/html;charset=gb2312"%> <%@pageimport="java.sql.*,javax.sql.*"%> <%@pageimport="java.util.*"%> <%@pageimport="java.text.*"%> <%@pageimport="java.io.*"%> <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxml(标准化越来越近了)ns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/> <title>无标题文档</title> </head> <body> <% java.sql.Connectionconn; ResultSetrs=null; Class.forName("org.gjt.mm.MySQL(和PHP搭配之最佳组合).Driver").newInstance(); conn=java.sql.DriverManager.getConnection("jdbc:MySQL(和PHP搭配之最佳组合)://localhost/test","root",""); Statementstmt=conn.createStatement(); rs=stmt.executeQuery("select*fromtestwhereid='1'"); if(rs.next()) { Blobb=rs.getBlob("pic"); intsize=(int)b.length(); out.print(size); InputStreamin=b.getBinaryStream(); byte[]by=newbyte[size]; response.setContentType("image/jpeg"); ServletOutputStreamsos=response.getOutputStream(); intbytesRead=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了。
原文链接:https://77isp.com/post/9917.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态