iOS开发中,将word,excel,pdf等文档的二进制流保存到本地(iPhone或iPad)的问题

在iOS开发中,有如下方式创建文件(夹),并向文件中写入数据:
//获取文件路径
NSString *tmpDirectory = NSTemporaryDirectory();
NSString *filePath=[tmpDirectory stringByAppendingPathComponent : @"test.txt" ];

//文件内容
NSString *content = @"hello world!";
NSData * data = [content dataUsingEncoding:NSUTF8StringEncoding];

//创建含有内容的文件
NSFileManager * manager = [NSFileManager defaultManager];
[manager createFileAtPath:filePath contents:data attributes:nil];

我的问题是:
从服务端获取到了word,excel,pdf等文档的二进制流(注意:二进制流中不仅仅含有文档中的内容,还含有文档本身),转化为字符串为:0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD/////(此处省略xx字),
如果将这些数据按照上面的方法创建文件的话,文件中的内容为:0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD/////(此处省略xx字),
请问各位大神,如何才能将这个二进制流保存成为原先的文档,非常感谢!

你可以调用writeToPath: encode: error: 写入到设备指定的path 中

我这里给个建议,别让后台给你二进制数据流,给你个URL加载,这样你使用webView显示数据不更方便?

我用的是NSData的- (BOOL)writeToFile:(NSString )path atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError *)error;
方法,而且要注意编码

参考:http://stackoverflow.com/questions/16704915/how-to-decode-base64-encoded-png-using-objective-c http://stackoverflow.com/questions/392464/how-do-i-do-base64-encoding-on-iphone-sdk

楼上正解,对于客户端开发,能少占用空间就少占用空间,如果只是单纯的现实,一个url解决一切。除非你要做专业的offic编辑器,那么就要down下来编辑了。