从包含BLOB字段(Office的.doc文件等)的Oracle数据库中检索数据时,我是否必须做一些特别的事情才能通过Web服务发送它?
它像字符串一样发送,我正在尝试将字符串转换为字节数组并将其写入文件以重新创建客户端的.doc文件。
什么是正确的方法?
答案 0 :(得分:2)
问题尚不清楚,但听起来你拥有来自数据库的数据,现在需要在网络服务上公开它。就SOAP等而言,这可以像返回byte[]
或在DTO上公开byte[]
一样简单。如果字段很大,您可能需要考虑MTOM(WSE3)和/或Web压缩。
那么:Oracle如何向您公开BLOB?如果它不是byte[]
,它可能类似于LINQ的Binary
类,它提供对数据的封装访问(在这种情况下为ToArray()
)。如果它正在暴露string
,我会猜测它是base-64编码的;您可以尝试运行Convert.FromBase64String
。
答案 1 :(得分:1)
您需要对字节流进行base64编码。