在oracle db和objective c之间传输blob数据

时间:2012-12-18 23:54:44

标签: java objective-c web-services ms-word blob

我正在尝试通过webservices将oracle db中的blob数据发送到objective c。 blob数据是存储在oracle db中的word文档。

以下是我到目前为止所做的事情:

  1. 通过java jdbc
  2. 获取blob对象
  3. 将blob对象转换为java字节数组
  4. 在普通java对象(序列化)中设置此字节数组并将其发送到Web服务
  5. Webservice将普通java对象发送到objective-c,Media-type为application / json
  6. 在objective-c中检索json对象,并将字节数组分配给NSData
  7. 然后将NSData写入文件并打开文件
  8. 问题:我无法通过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;
        }
    }
    

0 个答案:

没有答案