iOS开发-如何打开网络文件或本地的文件-iso文件怎么打开

iOS开发-如何打开网络文件或本地的文件-iso文件怎么打开

我们在iOS开发过程中,经常会碰到需要打开网络文件或者本地文件,简单介绍下我了解的两种打开文件的方法。

开发过程中,可能遇到两种文件,一种是已经生成了文件放在网络上或者本地,另一种文件是即时生成的。

首先对于一种文件,我们可以根据文件路径直接打开,但是生成URL的方式可能不一样。如果文件是存放在本地的,我们使用下面的方法生成URL:

NSURL *file_URL = [NSURL fileURLWithPath:filePath];

如果文件是存放在网络上的,使用下面的方法来生成URL:

NSURL *file_URL = [NSURL URLWithString:filePath];

其中filePath就是文件在沙盒目录和网络上的路径,file_URL就是对应的路径,之后我们就可以使用UIWebView来加载文件:

[self.webView loadRequest:[NSURLRequestrequestWithURL:file_URL]];

对于第二种需要即时生成的文件,我们需要服务端同事帮忙,通过网络请求将文件通过字节流的方式返回给我们:

NSString *filePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];

NSError *error;

NSFileManager *fileManager = [NSFileManager defaultManager];

[fileManager createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:&error];

NSString *path;

path = [filePath stringByAppendingPathComponent:[NSString stringWithFormat:@"",fileName]];

NSData *data = [[NSData alloc]initWithBase64EncodedData:data options:0];

[[NSFileManager defaultManager] createFileAtPath:path contents:data attributes:nil];

其中fileName为文件的名称,data就是文件的字节流,执行完上述操作后,我们就可以在应用的沙盒目录中找到该文件,之后使用打开本地文件的方式打开即可。

备注:除了使用WebView打开文件之外,还可以使用苹果自带的QLPreviewController来打开文件,有兴趣的可以研究下。

欢迎对iOS开发感兴趣的各位一起来讨论!

推荐阅读