`
greemranqq
  • 浏览: 975540 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论
阅读更多

最近使用webservice 做平台接口,SOA那边要求有有文件传输的东西,类型javax.activation.DataHandler

我数据库用的oracle ,类型blob.orm 框架 是hibernate .

 

文件对应的字段是:

private Blob fileContent;

@Lob
 @Column(name = "FILE_CONTENT")
 public Blob getFileContent() {
  return this.fileContent;
 }

 

转换方法:

先转换成二进制流

InputStream in = 文件对象.getFileContent().getBinaryStream();

然后穿件一个数组,可以一次放入的,当然可以自己优化大小

byte[] buff = new byte[(int) 文件对象.getFileContent().length()];

 

// 这里我是先写入一个临时文件

 File file = new File("../temp_"+文件名)
 OutputStream output = new FileOutputStream(file);
 BufferedOutputStream bufferedOutput = new BufferedOutputStream(output);
 bufferedOutput.write(buff);

// 这里刷进去,不然老写不完。。

bufferedOutput.flush();

这里创建 handdler 对象,当然也可以直接根据路径资源创建。自己看API

DataHandler handler = new DataHandler(new FileDataSource(file));

 

剩下的事情就是 webservice 传输对象,组织参数什么的了,,,

 

因为我一次可能多个文件,所以我写的循环,将File 以及Stream 保存起来,然后发送完了之后,在

fially {} 里面进行了 流的关闭,以及临时文件的删除。file.delete() .有更好的方式欢迎提供。

 

小结:

       1. 这个功能比较普通使用,因为只要你拿到文件数据 或者二进制数据,JAVA io 各种流的相互转换这里就不在累赘了。

        2.当然如果使用axis,xfire,jws 等东西,我就不确定了,需要尝试。我这里使用是cxf2.3.1   JDK1.6

        3.文件传输还要注意 环境以及编码的问题,这个大家做的时候也要注意一下,而且这种传输不宜传大文件,最好别超过10M

    

 

 

0
0
分享到:
评论

相关推荐

    cxf实现webService

    Apache CXF 是一个开源框架,用于构建和开发服务导向架构(SOA)的应用程序。它支持多种Web服务标准,包括SOAP、RESTful API、WS-* 规范等,使得开发者能够方便地创建和消费Web服务。在本教程中,我们将深入探讨如何...

    apache-cxf-2.7.11

    - **社区支持**:作为一个活跃的开源项目,Apache CXF拥有庞大的开发者社区,遇到问题时可以获取到及时的技术支持和解决方案。 在解压后的"apache-cxf-2.7.11"文件中,你将找到以下组件和资源: - **bin目录**:...

    cxf-2.4.2 jar包

    CXF(CXF: Composite eXtensible Framework)是一个开源的Java框架,它主要用于构建和服务导向架构(SOA)。CXF允许开发人员通过多种Web服务协议(如SOAP、RESTful HTTP、XML/HTTP等)来创建和消费Web服务。在这个...

    cxf-3.0.0 zip

    通过下载并解压"apache-cxf-3.0.0-milestone2.zip",开发者可以获得Apache CXF 3.0.0的源码、库文件、文档和示例,以便于学习、定制和部署自己的Web服务解决方案。在实际使用中,开发者可以根据需要选择合适的组件和...

    CXF2.5.10完整架包

    Apache CXF 是一个开源的Java框架,用于构建和开发服务导向架构(SOA)和Web服务。CXF这个名字是"CXF"的首字母缩写,它代表了两个早期的项目——Celtix和XFire的融合。CXF2.5.10是该框架的一个特定版本,发布于2014...

    CXF框架,知道的人都觉得极其有用

    CXF(CXF:CXF stands for "CXF XFire", where XFire was its predecessor)是一个开源的Java框架,主要用于构建和服务导向架构(SOA)应用程序。它提供了一个全面的工具集来支持Web服务和RESTful API的开发、部署和...

    cxf 3.2的jar包集合

    使用这些JAR文件,开发者可以构建完整的Web服务解决方案,从服务端的实现到客户端的调用,包括服务的安全性、传输、数据绑定和各种协议的支持。同时,由于这些JAR文件是官方Apache CXF项目提供的,因此可以确保与CXF...

    cxf-2.7.18

    Apache CXF 是一个开源的Java框架,用于构建和开发服务导向架构(SOA)和Web服务。这个"**cxf-2.7.18**"版本是CXF项目的一个特定发布,它包含了该框架在2.7.x系列中的第18次更新。CXF允许开发者创建和消费各种Web...

    apache-cxf-2.1.3.zip

    Apache CXF 是一个开源的Java框架,用于构建和开发服务导向架构(SOA)和Web服务。这个"apache-cxf-2.1.3.zip"压缩包包含了该框架的版本2.1.3的所有组件和资源,使得开发者可以便捷地在他们的项目中集成和使用CXF。 ...

    WebService的实现——CXF学习笔记

    8. **CXF的优势**:CXF不仅支持标准的SOAP,还支持RESTful风格的服务,提供了一体化的解决方案。此外,CXF的注解驱动模型使得Web服务的开发更加简洁,降低了学习曲线。 总结,本篇学习笔记通过一个简单的CXF服务端...

    cxf3.2.0编码GBK的不可映射字符问题

    在IT行业中,尤其是在Java Web开发领域,Apache CXF是一个广泛使用的开源框架,它用于构建和服务导向架构(SOA)的应用程序。CXF允许开发者通过多种Web服务标准来创建和消费Web服务,包括SOAP和RESTful服务。然而,...

    cxf-2.4.3.jar是apacha做的组件

    Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)和Web服务。这个"**cxf-2.4.3.jar**"文件是CXF项目的一个特定版本,即2.4.3版本的归档包。在Java开发中,JAR(Java Archive)文件是一种...

    cxf-tools-common-2.5.10.zip

    Apache CXF是一个开源的Java框架,主要用于构建和服务导向架构(SOA)的应用程序。CXF允许开发者创建和部署Web服务,并且支持多种Web服务标准,如SOAP、RESTful HTTP、WS-*等。"cxf-tools-common-2.5.10"可能包含了...

    apache-cxf-2.1.4.tar.zip webservice

    Apache CXF是一个开源的Web服务框架,主要用于构建和开发服务导向架构(SOA)中的Web服务。这个"apache-cxf-2.1.4.tar.zip webservice"文件包含了一个特定版本(2.1.4)的CXF框架,用于创建和消费Web服务。让我们...

    CXF框架下的WebService

    例如,可以使用CXF的MTOM(Message Transmission Optimization Mechanism)功能优化大数据传输,或者利用WS-Security实现安全控制。 总结,CXF框架为Java开发者提供了强大且灵活的Web Service解决方案,无论是SOAP...

    apache&-&cxf;-2.5.9.zip

    Apache CXF 是一个开源的Java框架,用于构建和开发服务导向架构(Service-Oriented Architecture, SOA)和Web服务。这个"apache-cxf-2.5.9.zip"压缩包包含了Apache CXF 2.5.9版本的源代码、库文件和其他相关资源。在...

    cxf2.7.18编码GBK的不可映射字符问题

    在IT行业中,尤其是在Java Web开发领域,Apache CXF是一个广泛使用的开源框架,它用于构建和服务导向架构(SOA)的应用程序。CXF提供了SOAP和RESTful Web服务的支持,并且允许开发者轻松地创建和消费Web服务。然而,...

    WebService_CXF学习.doc

    - **可扩展**:CXF的设计非常灵活,支持多种插件和扩展点,方便用户根据需求定制自己的解决方案。 - **直观易用**:CXF提供了简洁明了的API和工具链,使得开发者能够快速上手并高效开发。 #### 四、CXF支持的标准和...

    cxf开发webservice.docx

    CXF支持多种消息格式和传输协议,如SOAP、XML通过HTTP或JMS,以及多种模型,如JAX-WS、JBI、SCA和CORBA服务。此外,它还具有高度的灵活性,可以部署在Spring基础的容器、JBI、SCA、Servlet和J2EE容器中。 在开始...

    apache-cxf-2.5.9

    Apache CXF 是一个开源的Java框架,主要用于构建和开发服务导向架构(Service-Oriented Architecture, SOA)和Web服务。这个"apache-cxf-2.5.9"版本是该框架的一个旧版本,发布于2013年。在这个版本中,CXF提供了...

Global site tag (gtag.js) - Google Analytics