- 浏览: 1736992 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (337)
- javaScript校验 (11)
- java (31)
- java连接数据库 (1)
- js应用 (41)
- JQuery (15)
- linux操作命令 (12)
- loadrunner测试 (5)
- tomcat (18)
- 数据库 (12)
- eclipse (7)
- 触发器 (7)
- 表单 (3)
- ibatis (6)
- oracle (4)
- xml (1)
- Exception (6)
- spring (16)
- struts (4)
- struts 标签 (2)
- sql (8)
- sql server (6)
- 其它 (18)
- Apache (2)
- 电脑故障 (4)
- java 线程 (1)
- dwr (8)
- jackey (18)
- 总结 (34)
- gcc linux (2)
- extjs 学习 (5)
- 网站建设 (4)
- 健康 (2)
- 房地产知识 (1)
- hibernate (3)
- mysql (7)
- linux (13)
- svn (1)
最新评论
-
阳光泛滥的日子:
很好用谢谢
java.net.URISyntaxException的解决办法 -
linjianqing:
现在有更好的处理方式吗?我正也为这发愁
applet访问打印机出现的问题 -
ruyi574812039:
非常感谢您的总结!想问几个问题!假设三个项目分别以静态部署的三 ...
在Tomcat中部署Web程序的几种方式 -
yangguo:
太j8麻烦了
Spring3.1中使用缓存注解及Shiro的缓存联合 -
bellawang:
很好用谢谢
java.net.URISyntaxException的解决办法
此实现为用java访问mysql的blob,对图片进行存取
/**
* Title: BlobPros.java
* Project: test
* Description: 把图片存入mysql中的blob字段,并取出
* Call Module: mtools数据库中的tmp表
* File: C:downloadsluozsh.jpg
* Copyright: Copyright (c) 2003-2003
* Company: uniware
* Create Date: 2002.12.5
* @Author: ChenQH
* @version 1.0 版本*
*
* Revision history
* Name Date Description
* ---- ---- -----------
* Chenqh 2003.12.5 对图片进行存取
*
* note: 要把数据库中的Blob字段设为longblob
*
*/
//package com.uniware;
import java.io.*;
import java.util.*;
import java.sql.*;
public class BlobPros
{
private static final String URL = "jdbc:mysql://10.144.123.63:3306/mtools?user=wind&password=123&useUnicode=true";
private Connection conn = null;
private PreparedStatement pstmt = null;
private ResultSet rs = null;
private File file = null;
public BlobPros()
{
}
/**
* 向数据库中插入一个新的BLOB对象(图片)
* @param infile 要输入的数据文件
* @throws java.lang.Exception
*/
public void blobInsert(String infile) throws Exception
{
FileInputStream fis = null;
try
{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
conn = DriverManager.getConnection(URL);
file = new File(infile);
fis = new FileInputStream(file);
//InputStream fis = new FileInputStream(infile);
pstmt = conn.prepareStatement("insert into tmp(descs,pic) values(?,?)");
pstmt.setString(1,file.getName()); //把传过来的第一个参数设为文件名
//pstmt.setBinaryStream(2,fis,(int)file.length()); //这种方法原理上会丢数据,因为file.length()返回的是long型
pstmt.setBinaryStream(2,fis,fis.available()); //第二个参数为文件的内容
pstmt.executeUpdate();
}
catch(Exception ex)
{
System.out.println("[blobInsert error : ]" + ex.toString());
}
finally
{
//关闭所打开的对像//
pstmt.close();
fis.close();
conn.close();
}
}
/**
* 从数据库中读出BLOB对象
* @param outfile 输出的数据文件
* @param picID 要取的图片在数据库中的ID
* @throws java.lang.Exception
*/
public void blobRead(String outfile,int picID) throws Exception
{
FileOutputStream fos = null;
InputStream is = null;
byte[] Buffer = new byte[4096];
try
{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
conn = DriverManager.getConnection(URL);
pstmt = conn.prepareStatement("select pic from tmp where id=?");
pstmt.setInt(1,picID); //传入要取的图片的ID
rs = pstmt.executeQuery();
rs.next();
file = new File(outfile);
if(!file.exists())
{
file.createNewFile(); //如果文件不存在,则创建
}
fos = new FileOutputStream(file);
is = rs.getBinaryStream("pic");
int size = 0;
/* while(size != -1)
{
size = is.read(Buffer); //从数据库中一段一段的读出数据
//System.out.println(size);
if(size != -1) //-1表示读到了文件末
fos.write(Buffer,0,size);
} */
while((size = is.read(Buffer)) != -1)
{
//System.out.println(size);
fos.write(Buffer,0,size);
}
}
catch(Exception e)
{
System.out.println("[OutPutFile error : ]" + e.getMessage());
}
finally
{
//关闭用到的资源
fos.close();
rs.close();
pstmt.close();
conn.close();
}
}
public static void main(String[] args)
{
try
{
BlobPros blob = new BlobPros();
//blob.blobInsert("C:Downloadsluozsh1.jpg");
blob.blobRead("c:/downloads/1.jpg",47);
}
catch(Exception e)
{
System.out.println("[Main func error: ]" + e.getMessage());
}
}
}
发表评论
-
JOptionPane类提示框的一些常用的方法
2015-01-09 21:35 2371做swing程序中遇到使用消息提示框的,JOptionPan ... -
java.net.URISyntaxException的解决办法
2013-08-16 19:33 41865java.net.URISyntaxExceptio ... -
applet访问打印机出现的问题
2011-08-30 15:10 3748最近在搞jasperReport对applet ... -
java.text.DecimalFormat()格式化输出数字
2011-07-26 13:19 2096有时我们需要控制输出 ... -
MyEclipse快捷键与插件大全
2010-05-26 09:35 1131Eclipse 快捷键(1) Ctrl+1 快 ... -
java处理日期格式大全Date format SimpleDateFormat
2010-02-25 15:14 82887Java中日期格式转换 /** * 字符串转换为 ... -
mysql中sql语句进行日期比较
2010-02-25 14:54 4679这里是一个使用日期函 ... -
DisplayTag是一个非常好用的表格显示标签
2009-09-15 22:10 1570DisplayTag是一个非常好用的表格显示标签,适合MVC模 ... -
Display Tag Lib是一个标签库,
2009-09-15 22:08 2701Display Tag Lib是一个标签库,用来处理jsp网页 ... -
用commons FileUpload实现文件上传
2009-09-14 23:02 2195import java.io.File; im ... -
用JavaDBF操作(读、写)DBF文件
2009-07-08 10:19 2352用JavaDBF操作(读、写)DBF文件<o:p> ... -
通用日期处理函数,日期处理大全
2009-01-06 15:30 1467package com.elink.util; /* * &l ... -
java处理日期函数汇总(经典收藏)
2009-01-06 15:27 1377public DateUti ... -
Java的日期时间函数
2009-01-06 15:24 1311import java.util.Calendar;impor ... -
关于java日期的函数
2009-01-06 15:23 1572public static SimpleDateFormat ... -
java时间日期函数
2009-01-06 14:44 10056一:字符串转换成时间及时间相减: 1:) SimpleDate ... -
FCKEditor使用说明
2008-11-17 10:25 11811. FCKeditor 介绍FCKeditor ... -
使用spring发送邮件例
2008-10-24 10:45 4142做了个spring发送纯文本文件以及发送带附件的邮件的例子,共 ... -
SMTP的基本命令及错误列表
2008-10-24 10:31 2660SMTP的基本命令及错误列 ... -
用Java Mail发送带有图片附件的html格式邮件
2008-10-24 09:52 3517用Java Mail发送带有图片 ...
相关推荐
为什么需要对 Blob 进行存取? 在实际应用中,我们经常需要在数据库中存储和读取图片、音频、视频等大型文件,而 Blob 正是我们实现这一功能的关键。 如何对 Blob 进行存取? 在 Java 中,我们可以使用 JDBC...
以下将详细讲解如何利用VB来存取数据库中的BLOB数据。 首先,我们需要了解BLOB数据的基本概念。BLOB是数据库管理系统中用来存储大量二进制数据的字段类型,它可以是任何类型的图像、文档或者其他非文本数据。在...
在Java编程中,有时我们需要将图片等大容量的二进制数据存储到数据库中,MySQL提供了BLOB(Binary Large Object)类型,专门用于存储大块...正确使用这些技术,可以帮助我们在应用程序中实现高效、可靠的图片存取功能。
本篇文章将深入探讨DELPHI中如何有效地进行CLOB和BLOB的存取处理。 CLOB主要用来存储大文本数据,如长篇文章、XML文档或JSON字符串,而BLOB则用于存储大量的二进制数据,如图像、音频、视频文件或者任何非文本的...
Mysql 数据库中存取图片的 Java 实现 MySQL 数据库中存取图片的 Java 实现可以通过两种方式实现:一种是将图片单独存放在固定文件夹里,数据库表中对应的字段仅保存该图片的路径和名字 ;另一种是先对图片进行编码...
- **写入BLOB**:同理,使用SaveToStream或SaveToFile方法将内存中的TMemoryStream或文件内容保存到BLOB字段。执行Insert或Edit方法,然后调用Post来提交更改。 无论是ADO还是ODAC,处理BLOB数据时都需要注意内存...
《公文档案在MySQL数据库中的存取》这篇文章探讨了如何在办公自动化环境中,利用MySQL数据库高效地存储和访问公文档案。MySQL作为一款关系型数据库管理系统,具备强大的数据处理能力和安全性,非常适合用于存储和...
通过以上步骤,你可以成功地在 Delphi 中实现二维数组数据的 Blob 存储和读取。实际操作时,可能还需要考虑性能优化,比如批量处理和缓存策略。对于大型数据集,可以考虑使用分块读写以减少内存占用。在实践中,可以...
spring+mybatis下BLOB字段的图片存取代码,仅整理了Controller层的代码,service和dao的代码很简单,所以没有整理
1. **图片上传与存储**:了解如何通过Struts2上传图片,并将其以Blob形式存储在MySQL数据库中。 2. **图片读取与展示**:掌握如何从数据库中读取图片Blob数据,并将其显示在Web页面上。 #### 开发准备 1. **开发...
总结来说,MySQL、SQL Server和Oracle都提供了各自的大对象存储解决方案,主要通过BLOB或类似的类型实现,存取大对象时通常涉及流操作。在使用过程中,需要注意每个数据库系统的具体限制和配置,以及选择合适的数据...
1.2 关于本手册 1.2.1 本手册中使用的约定 1.3 MySQL的历史 1.4 MySQL的主要特征 1.5 MySQL稳定性? 1.6 顺应2000年 1.7 SQL一般信息和教程 1.8 有用的MySQL相关链接 ...
`MySQLUploader.java`文件可能包含处理MySQL数据库中图片或二进制数据的Java代码,使用JDBC连接,加载MySQL驱动,通过PreparedStatement执行SQL语句将二进制数据存入数据库。读取时,可以使用ResultSet的...
标题中的“浅议PHP MySQL中二进制文件的存取”和描述中提到的实践案例,主要探讨了如何在PHP环境中利用MySQL数据库存储和检索二进制数据,特别是图像和Word文档这类大容量的二进制文件。这些操作在Web应用中非常常见...
为了解决这个问题,MySQL提供了BLOB(Binary Large Object)和TEXT类型,它们专门设计用来存储大量的文本和二进制数据。 1. **BLOB和TEXT类型** - **BLOB** 类型用于存储二进制数据,有TINYBLOB、BLOB、MEDIUMBLOB...
**MySQL中的大对象存取:** MySQL提供了几种不同类型的BLOB(Binary Large Object)和TEXT类型来存储大对象数据,包括TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。其中,BLOB类型可以存储最多2^16(65,535)个字节的...
* 6 MySQL 存取权限系统 o 6.1 权限系统做什么 o 6.2 MySQL用户名和口令 o 6.3 与MySQL服务器连接 o 6.4 使你的口令安全 o 6.5 MySQL 提供的权限 o 6.6 权限系统工作原理 o 6.7 存取控制,阶段1:连接证实 o ...
本示例将详细介绍如何使用C#连接到MySQL数据库,并实现图片的存储功能。 首先,确保你已安装了MySQL数据库服务器以及对应的C#驱动程序,例如`MySql.Data.dll`。这个库允许C#应用程序与MySQL数据库进行通信。你可以...