- 浏览: 1579280 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
nich002:
原网站失效了。撸主简单粗暴的复制过来,可读性极差!差评!
Apache配置详解(最好的APACHE配置教程) -
107x:
不错,谢谢!
LINUX下查看文件夹下的文件个数! -
Hypereo:
好你妹,连个格式都没有!
Apache配置详解(最好的APACHE配置教程) -
resteater:
代码排版感觉有点乱!收发信息代码可读性不强!请问第一次发服务器 ...
java socket例子 -
resteater:
代码排版感觉有点乱!收发信息代码可读性不强!请问第一次发服务器 ...
java socket例子
From: http://www.pcdog.com/edu/mysql/20/11/f244110.html
背景!jsp+mysql 记住 要用mysql的longblob类型来存默认的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 xmlns="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" 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
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.text.*"%>
<%@ page import="java.io.*"%>
<html xmlns="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.Driver").newInstance();
conn= java.sql.DriverManager.getConnection("jdbc:mysql://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">查看图片</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.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="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.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>
********************************************************************
注意:在用sos.write(by, 0, bytesRead);时,该方法把inputstream中的内容在一个新的页面中输出,
如果本页中还有别的内容要输出的话,只有把上述方法改为,bytesRead = in.read(by)) ;
再用out.print(new String(by));方法输出结果,注意在这里不能用by.toString()方法,该方法返回的是要输出内容的内存地址。mysql中有blob textarea类型大小了66536基本上放点小的东东就足够了,哈哈,但是现在的数码pic越来越大就只能用longblob了 大小有4g能 ,放个电影都够了哈哈
发表评论
-
JVM问题追查与调优
2012-03-27 14:44 1149JDK的几种分析工具 http://liudaoru ... -
NodeJs相关资料
2011-08-18 14:55 3020NodeJs获取参数: proces ... -
jprofiler追踪问题
2011-08-12 18:20 1052Jprofiler下载页: http://www.ej ... -
Linux服务器性能评估与优化【z】
2011-07-01 10:05 1557来自:http://www.itlearner.com/ ... -
Java 理论与实践: 非阻塞算法简介【z】
2011-03-26 20:39 1288From: http://www.ibm.com/develo ... -
Java Crash问题分析[z]
2011-03-23 14:41 5978参考: http://www.ibm.com/develop ... -
Berkeley DB相关
2010-09-25 22:17 1061为什么要使用Berkeley DB,它适合什么场合应用?Ber ... -
熟悉系统方法总结
2010-07-06 14:26 824了解一个陌生的系统是我们经常碰到的事情,下面总结一下自己的一些 ... -
Java缓存框架 EhCache
2010-07-06 14:09 4734From: http://www.oschina.net/p/ ... -
【nio】使用 ServerSocketChannel 实现的 File 服务器[z]
2010-05-21 17:31 3979From: http://www.java2000.net/p ... -
Memcached命令行管理
2010-03-15 11:18 4495From: http://www.exp2up.com/2 ... -
(转)Resin服务器配置指南
2010-01-21 15:35 3473From:http://blog.21cn.com/super ... -
Flickr架构
2010-01-11 09:52 1273From: http://www.cyask.com/ques ... -
JDK的几种分析工具
2009-12-04 12:13 10910From: http://blog.csdn.net/hant ... -
XMemcached——一个新的开源Java memcached客户端
2009-10-23 09:27 1899From: http://www.infoq.com/cn/ ... -
多线程任务调度学习
2009-10-16 13:58 2308昨天找到一套多线程任务调度的代码,相当的不错,先把思路总结一下 ... -
用HSCALE实现MySQL的数据分布式存储
2009-10-15 12:47 3023From:http://www.ningoo.net/ht ... -
马化腾:搜索、电子商务硬仗一定要坚持打
2009-10-15 12:09 1724From:http://www.techweb.com.c ... -
MySQL分表实现上百万上千万记录分布存储的批量查询设计模式【z】
2009-10-15 09:56 3179From:http://hi.baidu.com/jabber ... -
nginx负载均衡和lvs负载均衡的比较分析【z】
2009-10-13 20:02 1478From:http://www.shouker.com/u ...
相关推荐
下面我们将详细讨论如何在MySQL和Qt环境下对BLOB数据类型进行操作。 首先,BLOB是一个用于存储大块二进制数据的数据类型,包括四种变体:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB,它们的区别主要在于能存储的最大...
而MySQL同样提供了BLOB类型,用于相似的用途。本篇将详细讲解如何在Oracle与MySQL之间进行BLOB类型的转换,特别是针对照片的处理。 首先,让我们了解BLOB类型。BLOB是一种可以存储大量二进制数据的对象,分为四种子...
总结起来,批量下载MySQL数据库中Blob类型的图片至本地,需要理解Blob数据类型,熟悉Java的JDBC操作,以及掌握文件I/O操作。通过以上步骤,你可以有效地完成这一任务,确保图片数据的完整性和可访问性。在实际项目中...
在这个场景中,我们关注的是如何使用Java Server Pages(JSP)来操作MySQL数据库中的Blob(Binary Large Object)字段,这是一个用于存储大容量二进制数据如图片、文档或音频文件的特殊字段类型。以下是关于这个主题...
mysql导出工具,可导出无注释插入语句,表中字段有blob类数据,插入语句前还有锁表操作语句,适合多种场景
通过这个工具,用户可以对从MySQL数据库导出的`aidigame_data1.sql`这样的文件进行操作,其中可能包含Blob类型的列。 `aidigame_data1.sql`文件很可能是一个SQL脚本,包含了数据库表结构定义以及数据插入语句。Blob...
上述代码首先连接到MySQL数据库,然后创建一个PreparedStatement对象来执行插入操作。`setBlob`方法用于设置Blob参数,这里传入一个FileInputStream对象,该对象从指定文件读取数据。 4. **查询和提取Blob数据** ...
MySQL中的BLOB类型是用于存储...总结来说,MySQL的BLOB类型是为了解决大数据存储问题,而PreparedStatement是Java中用来安全高效地操作BLOB字段的工具。正确理解和使用这些技术,对于处理大量的二进制数据至关重要。
MySQL和Oracle都是广泛使用的数据库管理系统,它们都支持Blob类型的字段来存储这类数据。本篇文章将深入探讨如何在MySQL和Oracle数据库中插入Blob数据,并提供相关的源码实例。 一、MySQL中的Blob数据插入 MySQL...
这篇文章将探讨如何在MySQL中处理Blob数据,特别是通过Java代码进行操作。 首先,为了连接到MySQL数据库,我们需要引入JDBC驱动并使用`DriverManager.getConnection()`方法。在示例代码中,`getMySQLConnection()`...
本实例主要探讨如何利用Hibernate和Struts框架来处理MySQL数据库中的BLOB字段,实现文件的上传与下载功能。 **一、Hibernate框架** Hibernate是一个强大的Java持久化框架,它简化了数据库操作,提供了对象关系映射...
总的来说,这个项目涉及了VC++6.0 MFC、ODBC、MySQL数据库以及BLOB字段的使用,涵盖了Windows编程、数据库接口设计、文件操作和数据存储等多个方面的知识。对于想要提升数据库操作技能,特别是将图像数据存入数据库...
本文实例讲述了PHP操作MySQL中BLOB字段的方法。分享给大家供大家参考,具体如下: 1、MySQL中BLOB字段类型 BLOB类型的字段用于存储二进制数据。 MySQL中,BLOB是个类型系列,包括:...2、PHP操作BLOB案例 (1)操作新
本教程将深入探讨如何使用Java进行Blob字段的操作,以实现将图片或文件保存到数据库中。 1. **Blob字段的理解** Blob是SQL标准定义的一种数据类型,它能够存储大量的二进制数据,如图像、音频文件、PDF文档等。在...
MySQL提供了`TEXT`和`BINARY`系列的数据类型来对应`CLOB`和`BLOB`。`LONGTEXT`和`LONGBLOB`是最接近`CLOB`和`BLOB`的数据类型,分别可存储最大4GB的字符和二进制数据。MySQL将这些大型数据存储在外存,以减少内存...
在关系型数据库中,如Oracle、MySQL、SQL Server等,BLOB字段提供了一种高效的方式,用于处理和存储大数据量的非结构化信息。 ### 判断BLOB字段是否为空的必要性 在实际应用中,判断BLOB字段是否为空对于数据完整...
在本场景中,我们将探讨如何在 Delphi 中将二维数组数据转换为 Blob 数据,然后存入 MySQL 数据库,并从数据库中读取出来。 首先,我们需要了解 Delphi 中的二维数组和 Stream 对象的概念。二维数组是多个一维数组...
总结一下,处理Hibernate与MySQL BLOB字段的关键在于理解BLOB的特性和挑战,采用适当的数据处理策略,如流式操作、内存管理、事务控制以及数据库版本兼容性考虑。在实践中不断优化,可以提高代码的稳定性和性能。
上传图片到数据库并使用JDBC操作BLOB 在本篇文章中,我们将讨论如何上传图片到数据库,并使用JDBC操作BLOB(Binary Large OBject)。BLOB是一种二进制大对象,是数据库中的一种数据类型,用于存储大规模的二进制...