我正在尝试通过 web 服务将 blob 数据从 oracle db 发送到目标 c。blob 数据是存储在 oracle db 中的 word 文档。
以下是我到目前为止所做的:
- 通过java jdbc获取blob对象
- 将blob对象转换为java字节数组
- 将此字节数组设置为普通 java 对象(序列化)并将其发送到 Web 服务
- Webservice 将普通 java 对象发送到 Objective-c,Media-type 为 application/json
- 在objective-c中检索json对象并将字节数组分配给NSData
- 然后将 NSData 写入文件并打开文件
问题:我无法通过objective-c打开文件,当我在mac中物理打开文件时,它包含一些垃圾字符。任何人都可以让我知道是否无论如何可以将表示 word 文档的 java 字节数组转换为objective-c 识别的数据类型,并最终在objective-c 应用程序中打开word 文档。
以下是您在 Objective-C 端阅读的代码:
注意:代码中的“sourceDoc”是字节数组的键。
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
if ([data length] >0 && error == nil){
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSData *returnData = nil;
for(NSDictionary *billDict in jsonArray){
returnData = [NSData dataWithBytes:(__bridge const void *)([billDict objectForKey:@"sourceDoc"]) length:[[billDict objectForKey:@"sourceDoc"] length]];
break;
}
}