`
Feiwrtti
  • 浏览: 23957 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Java 实现文件下载(Oracle中的BLOB对象)

    博客分类:
  • java
阅读更多
               
               String file_id = runtime.getParameter("file_id");
		String file_name = runtime.getParameter("file_name");
		NfsFileBizDelegate fileBiz = new NfsFileBizDelegate();	

		Session sess = Session.openSession(); 

		try
		{     
                     // 替换为response.setContentType("application/x-msdownload");

      			runtime.getHttpResponse().setContentType("application/x-msdownload");

                      // response.setHeader("Content-disposition","attachment;filename="+file_name);
			runtime.getHttpResponse().setHeader("Content-disposition","attachment; filename="+file_name);

			Blob blob = fileBiz.retrieveBLOBObjectByFileId(Long.parseLong(file_id));
			if(blob!=null) {
				InputStream is = blob.getBinaryStream();
                               //  response.getOutputStream(); 
     				BufferedOutputStream bos=new java.io.BufferedOutputStream(runtime.getHttpResponse().getOutputStream());
				byte[] b  = new byte[((oracle.sql.BLOB)blob).getBufferSize()];     

				int len  =  0;     
				while((len = is.read(b)) != -1){  
					 bos.write(b,0,len); 
					 bos.flush();
				}    
				bos.close();
				is.close();
			}
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		finally 
		{
			sess.close();
		}

  runtime 是web框架在运行中获得的,相应的替换为注释代码即可

分享到:
评论

相关推荐

    Java从数据库中读取Blob对象图片并显示的方法

    主要介绍了Java从数据库中读取Blob对象图片并显示的方法,实例分析了Java读取数据库中Blob对象图片的技巧与操作方法,需要的朋友可以参考下

    JAVA C/S架构应用程序

    用JAVA开发的一个简单桌面应用程序,实现ORACLE数据库的增删改查操作,所有操作均用存储过程实现,同时实现了Oracle 大对象BLOB 图像文件的存取,供初学者学习。

    Java开发详解.zip

    031709_【第17章:Java数据库编程】_处理大数据对象(2)—处理BLOB数据笔记.pdf 031710_【第17章:Java数据库编程】_CallableStatement接口笔记.pdf 031711_【第17章:Java数据库编程】_JDBC 2.0操作笔记.pdf ...

    疯狂JAVA讲义

    学生提问:当我们使用编译C程序时,不仅需要指定存放目标文件的位置,也需要指定目标文件的文件名,这里使用javac编译Java程序时怎么不需要指定目标文件的文件名呢? 13 1.5.3 运行Java程序 14 1.5.4 根据...

    ssh(structs,spring,hibernate)框架中的上传下载

    首先数据表中的Blob字段在Java领域对象中声明为byte[]类型,而非java.sql.Blob类型。  2.数据表Blob字段在Hibernate持久化映射文件中的type为org.springframework.orm.hibernate3.support.BlobByteArrayType,即...

    jdbc连接数据库的方式2

    如果利用Oracle的面向对象的技术,可以通过创建一个新的数据库对象类型在数据库中模仿其数据和操作,然后使用JPublisher等工具生成自己的Java bean类。如果使用这种方式,不但Java应用程序可以使用应用软件的对象...

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

    必须要时从Java SE API的源代码分析,了解各种语法在Java SE API中如何应用。  《Java JDK 7学习笔记》将IDE操作纳为教学内容之一,使读者能与实践结合,提供的视频教学能更清楚地帮助读者掌握操作步骤。 内容简介 ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    1. 安装程序成功下载,将会得到如下2个文件: 解压文件将得到database文件夹,文件组织如下: 点击setup.exe执行安装程序,开始安装。 2. 点击安装程序将会出现如下安装界面,步骤 1/9:配置安全更新 填写电子...

    Spring中文帮助文档

    处理BLOB 和 CLOB对象 11.7.3. 在IN语句中传入一组参数值 11.7.4. 处理复杂类型的存储过程调用 12. 使用ORM工具进行数据访问 12.1. 简介 12.2. Hibernate 12.2.1. 资源管理 12.2.2. 在Spring容器中创建 ...

    Spring API

    处理BLOB 和 CLOB对象 11.7.3. 在IN语句中传入一组参数值 11.7.4. 处理复杂类型的存储过程调用 12. 使用ORM工具进行数据访问 12.1. 简介 12.2. Hibernate 12.2.1. 资源管理 12.2.2. 在Spring容器中创建 ...

Global site tag (gtag.js) - Google Analytics