1

我有以下代码来调用byte[]为 PDF 文件返回的 web 服务。有什么不对 ?它正在生成损坏的 PDF 文件。

更多细节

IOS通过.Net Framework编写的Webservice发送对pdf文件的请求。Web 服务返回 PDF 文件的字节数组。现在我需要做的是捕获字节数组并将其转换为 IOS 中的 PDF 文件。

以下代码是我尝试做到的

@try {
    NSString *baseURL = @"http://host/service/GetPDF";

    NSLog(@"Service URL : %s\n", [baseURL UTF8String]);
    NSURL *serviceURL = [NSURL URLWithString: baseURL];

    NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL: serviceURL];
    [request setHTTPMethod:@"POST"];
    [request setTimeoutInterval:30.0];

    NSURLResponse *response = NULL;
    NSError *requestError = NULL;
    NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&requestError];

    NSString *resourceDocPath = [[NSString alloc] initWithString:[[[[NSBundle mainBundle] resourcePath] stringByDeletingLastPathComponent] stringByAppendingPathComponent:@"Documents"]];        
    NSString *filePath = [resourceDocPath stringByAppendingPathComponent:@"myPDF.pdf"];

    NSData* pdfData = [NSData dataWithBytes:[responseData bytes] length:[responseData length]];
    [pdfData writeToFile:filePath atomically:YES];     
}
@catch (NSException* ex) {
    NSLog(@"doSomethingFancy failed: %@",ex);
}
4

0 回答 0