从服务端请求返回的是pdf文件的byte数组,怎么把pdf的byte数组转换成pdf文件保存在本地,然后通过webview预览.
试了很多都行不通,求指导。、
看到一篇文章里面的demo是这样处理的
NSString *pdfstr =@"37,80,68,70,45,49,46,51,10,50,32,48,32,111,98,106,10,60,60,10,47,84,121,112,101,32,47,69,120,116,71,83,116,97,116,101,10,47,83,65,32,102,97,108,115,101,10,47,79,80,32,102,97,108,115,101,10,47,72,84,32,47,68,101,102,97,117,108,116,10,62,62,10,101,110,100,111,98,106,10,52,32,48,32,111,98,106,10,60,60,10,47,76,101,110,103,116,104,32,53,32,48,32,82,10,47,70,105,108,116,101,114,32,91,32,47,70,108,97,116,101,68,101,99,111,100,101,32,93,10,62,62,10,115,116,114,101,97,109,10,120,-38,-59";
//这个pdfstr字符串很长,由于帖子字数限制,就只贴上一部分
NSArray *pdfArray=[pdfstr componentsSeparatedByString:@","];
int len=[pdfArray count];
Byte *bytes=malloc(len);
for (int i=0; i<len; i++) {
int value=[[pdfArray objectAtIndex:i] intValue];
*(bytes +i)=value & 0xff;
NSLog(@"byte = %d",bytes[i]);
}
NSData *pdfD=[[NSData alloc] initWithBytes:bytes length:len];
NSLog(@"pdfD:%@",pdfD);
NSString *path = [self pathFileForProcess:@"xxxxxx.pdf"];//document路径
NSLog(@"----保存路径---------%@",path);
[pdfD writeToFile:path atomically:YES];
[pdfD release]; // OK 存储完毕它这个demo里面的pdfStr字符串,该如何把从服务端获取的byte数组转换成类似于这个pdfStr的字符串呢
试了很多都行不通,求指导。、
看到一篇文章里面的demo是这样处理的
NSString *pdfstr =@"37,80,68,70,45,49,46,51,10,50,32,48,32,111,98,106,10,60,60,10,47,84,121,112,101,32,47,69,120,116,71,83,116,97,116,101,10,47,83,65,32,102,97,108,115,101,10,47,79,80,32,102,97,108,115,101,10,47,72,84,32,47,68,101,102,97,117,108,116,10,62,62,10,101,110,100,111,98,106,10,52,32,48,32,111,98,106,10,60,60,10,47,76,101,110,103,116,104,32,53,32,48,32,82,10,47,70,105,108,116,101,114,32,91,32,47,70,108,97,116,101,68,101,99,111,100,101,32,93,10,62,62,10,115,116,114,101,97,109,10,120,-38,-59";
//这个pdfstr字符串很长,由于帖子字数限制,就只贴上一部分
NSArray *pdfArray=[pdfstr componentsSeparatedByString:@","];
int len=[pdfArray count];
Byte *bytes=malloc(len);
for (int i=0; i<len; i++) {
int value=[[pdfArray objectAtIndex:i] intValue];
*(bytes +i)=value & 0xff;
NSLog(@"byte = %d",bytes[i]);
}
NSData *pdfD=[[NSData alloc] initWithBytes:bytes length:len];
NSLog(@"pdfD:%@",pdfD);
NSString *path = [self pathFileForProcess:@"xxxxxx.pdf"];//document路径
NSLog(@"----保存路径---------%@",path);
[pdfD writeToFile:path atomically:YES];
[pdfD release]; // OK 存储完毕它这个demo里面的pdfStr字符串,该如何把从服务端获取的byte数组转换成类似于这个pdfStr的字符串呢
Byte byte[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23};
NSData *adata = [[NSData alloc] initWithBytes:byte length:24];再把NSData转为NSString
NSData-> NSString
NSString *aString = [[NSString alloc] initWithData:adata encoding:NSUTF8StringEncoding];
直接这句话里面的参数bytes替换成服务器返回的字节数据,len对应改下, 不成么?