private static final String CONTENT_TYPE = "text/html; charset=GB2312";
// private String uploadPath = "e:\\upload\\"; // 上传文件的目录
//private String tempPath = "e:\\temp\\"; // 临时文件目录
@Override
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
System.out.println("ffffffffffff");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
try {
DiskFileUpload fu = new DiskFileUpload();
// 设置最大文件尺寸,这里是4MB
fu.setSizeMax(4194304);
// 设置缓冲区大小,这里是4kb
fu.setSizeThreshold(4096);
// 设置临时目录:
// fu.setRepositoryPath(tempPath);
// 得到所有的文件:
List fileItems = fu.parseRequest(request);
Iterator i = fileItems.iterator();
// 依次处理每一个文件:
while(i.hasNext()) {
FileItem fi = (FileItem)i.next();
// 获得文件名,这个文件名包括路径:
String filepath = fi.getName();
// 在这里可以记录用户和文件信息
if(null!=filepath && !filepath.equals("") && filepath.length()>1){
String fileName=getFileName(filepath);
System.out.println("fileName==="+fileName);
// 写入文件,暂定文件名为a.txt,可以从fileName中提取文件名:
//fi.write(new File(uploadPath + fileName));
InputStream is=fi.getInputStream();
System.out.println(insert(is,(int)fi.getSize()));
}
}
}
catch(Exception e) {
// 可以跳转出错页面
}
}
public String getFileName(String path){
int x=path.lastIndexOf("\\");
int y=path.lastIndexOf("/");
String fileName="";
if(x>y){
fileName= path.substring(path.lastIndexOf("\\")+1,path.length());
}else{
fileName=path.substring(path.lastIndexOf("/")+1,path.length());
}
return fileName;
}
public int insert(InputStream is,int size){
Connection con=DBConnection.getConnection();
PreparedStatement pstm=null;
String sql="insert into testblob values(?,?)";
int n=-1;
try {
pstm=con.prepareStatement(sql);
pstm.setInt(1,1);
pstm.setBinaryStream(2,is,size);
n=pstm.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
pstm.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return n;
}
分享到:
相关推荐
BLOB字段主要用于存储大量的二进制数据,如图像、音频、视频或任何其他非文本格式的数据。Java对Oracle数据库中BLOB字段的处理涉及多个层面,包括读取、写入、更新以及跨数据库操作等。 ### Java处理Oracle BLOB...
在本例中,我们假设已经有一个名为`images`的表,其中包含一个名为`image_data`的BLOB字段。使用`sqlite3_prepare_v2()`函数编译SQL语句,如下所示: ```cpp const char *sql = "INSERT INTO images (image_data) ...
综上所述,本实例展示了如何在MySQL数据库中创建Blob字段、插入和查询Blob数据。源码中可能包含了类似的实现,通过解压提供的"向数据库插入blob数据实例源码"压缩包,你可以查看并运行完整的Java代码示例。
2. **插入记录:** 将Blob字段与其它字段一起插入到表中。 3. **写入文件内容:** 将文件内容写入到Blob字段中。 ##### 示例代码(上传部分): ```java public static void uploadBlob(Connection cn, MmsNewsVO ...
可以从数据库中读取blob字段并插入到另一个表中,已经测试通过
设置SQL命令文本,用于插入、更新或查询BLOB字段。 3. **读取BLOB字段** - 对于DBExpress,可以使用TOracleQuery组件的SQL属性执行查询,然后在OnBeforeOpen事件中处理BLOB字段,通过TOracleBlobField对象访问BLOB...
写入Blob字段时,先创建`OracleParameter`对象,将其Direction设置为` ParameterDirection.Input `,OracleDbType设置为`OracleDbType.Blob`,然后赋值。以下是一个示例: ```csharp // 读取Blob字段 using ...
Python如何操作Oracle的Blob字段,
准备一条SQL插入语句,用于插入新的记录。 ```java PreparedStatement ps = conn.prepareStatement("INSERT INTO BLOBTEST (ID, NAME, PICTURE) VALUES (1, 'fang.jpg', ?)"); ``` ##### 4.2 创建空的BLOB对象 在...
spring+mybatis下BLOB字段的图片存取代码,仅整理了Controller层的代码,service和dao的代码很简单,所以没有整理
mysql导出工具,可导出无注释插入语句,表中字段有blob类数据,插入语句前还有锁表操作语句,适合多种场景
- **更新数据**:更新Clob或Blob字段时,只需要设置新的值,然后调用`session.update()`。 3. **性能优化**: - 使用`lobHandler`:在处理大数据时,可以自定义`LobHandler`,优化读写性能。例如,使用`...
处理BLOB字段通常涉及将这些大型二进制对象插入到数据库中以及从数据库中检索它们。本文将深入探讨如何使用Java中的PreparedStatement和ResultSet对象来有效地处理BLOB字段。 ### 插入BLOB字段 在Java中,使用...
### Java中读取Oracle数据库BLOB字段存储的图片方法详解 #### 一、背景与目的 在实际的应用开发过程中,经常会有将图片等二进制数据存入数据库的需求。Oracle数据库支持通过BLOB(Binary Large Object)类型来存储...
此文档是对于oracle数据库中blob类型字段二进制大对象的读取和解析
3. 使用数据库组件(如TADOQuery)设置SQL语句,通常是INSERT或UPDATE语句,指定将TMemoryStream的内容插入或更新到BLOB字段。 4. 将TMemoryStream绑定到SQL语句的参数,通常使用参数化查询。 5. 执行SQL语句,完成...
这篇博客文章“Hibernate操作Oracle中Clob、Blob字段小结”可能会探讨如何在Hibernate中有效地处理这两种类型的数据。 1. **Clob与Blob的理解**: - Clob:Clob是用于存储大量字符数据的类型,例如长篇文章、XML...
本教程将深入探讨如何使用Java进行Blob字段的操作,以实现将图片或文件保存到数据库中。 1. **Blob字段的理解** Blob是SQL标准定义的一种数据类型,它能够存储大量的二进制数据,如图像、音频文件、PDF文档等。在...
7. **读取Blob字段**:为了将blob数据读回并保存为.jpg文件,需要创建一个新的SELECT SQL语句,找到包含图片数据的记录,然后使用CRecordset的`GetFieldValue`或`GetFieldData`方法获取blob字段的值。 8. **保存...
本文将详细介绍如何使用Struts结合JDBC操作Oracle数据库中的Blob字段实现文件的保存和读取。 #### 代码分析 根据提供的部分代码示例,我们可以将其分为两个主要部分:文件保存和文件读取。 ##### 文件保存 文件...