iOS webView 加载文件 及 文件操作
来源:互联网 发布:手机电脑无线连接软件 编辑:程序博客网 时间:2024/06/01 09:09
这几天在做webView浏览附件的功能,研究了一下,正好可以记下来,用webView可以打开各种附件(.doc .pdf 。。。)
//加载路径的第一个方式 NSString *path1 = [[NSBundle mainBundle] pathForResource:@"文件名" ofType:nil]; NSURL *url = [NSURL fileURLWithPath:path1]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [self.WebView loadRequest:request];
//加载路径的第二个方式 NSURL *url = [[NSBundle mainBundle] URLForResource:@"文件名" withExtension:nil]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [self.WebView loadRequest:request];
//加载路径的第三个方式 以二进制数据流加载 //webview加载本地文件,可以使用加载数据的方式 //第一个诶参数是一个NSData, 本地文件对应的数据 //第二个参数是MIMEType //第三个参数是编码格式 //相对地址,一般加载本地文件不使用,可以在指定的baseURL中查找相关文件。 //以二进制数据的形式加载沙箱中的文件, // 加载.doc文件 TYPE为application/vnd.openxmlformats-officedocument.wordprocessingml.document NSData *data = [NSData dataWithContentsOfFile:path]; [self.webView loadData:data MIMEType:@"application/vnd.openxmlformats-officedocument.wordprocessingml.document" textEncodingName:@"UTF-8" baseURL:nil];
步骤基本一样的,都是先获取文件所在路径,然后转化成URL,然后webView加载这个URL请求。
第三种方法有点特别就是他要获取文件的类型,这个可以让服务器一起发送过来。
添加:怎么让webView缩放:
[self.WebView setScalesPageToFit:YES];
说完这个接下来说的是怎么把文件下载缓存好,我的思路就是先把文件下载到本地,然后用webView打开本地文件。
然后顺便研究了一下iOS 的文件操作:
默认情况下,iOS 的沙盒下都有三个文件夹,功能基本如下:
1、Documents:苹果建议将程序创建产生的文件以及应用浏览产生的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录
2、Library:存储程序的默认设置或其它状态信息;Library/Caches:存放缓存文件,保存应用的持久化数据,用于应用升级或者应用关闭后的数据保存,不会被itunes同步,所以为了减少同步的时间,可以考虑将一些比较大的文件而又不需要备份的文件放到这个目录下。
3、tmp:提供一个即时创建临时文件的地方,但不需要持久化,在应用关闭后,该目录下的数据将删除,也可能系统在程序不运行的时候清除。
获取沙盒的根路径:
NSString *dirHome=NSHomeDirectory(); NSLog(@"app_home: %@",dirHome);
获取document文件夹目录:
//document文件目录 NSString *pathDocument=[ NSSearchPathForDirectoriesInDomains ( NSDocumentDirectory , NSUserDomainMask , YES ) objectAtIndex : 0 ];
获取library目录:
//library文件目录 NSString *pathLib=[ NSSearchPathForDirectoriesInDomains ( NSLibraryDirectory , NSUserDomainMask , YES ) objectAtIndex : 0 ];
获取cache目录:
cache文件目录 NSString *pathCache=[ NSSearchPathForDirectoriesInDomains ( NSCachesDirectory , NSUserDomainMask , YES ) objectAtIndex : 0 ];获取temp目录:
NSString *pathTemp = NSTemporaryDirectory();
获取了路径了,以上的文件夹都是默认存在的,接下来是自己创建自己的文件夹,文件夹创建,删除,读写操作等都需要 NSFileManager 这个单例类支持:
以temp目录为例,在temp目录下建立attachment文件夹:
NSFileManager *fileManager = [NSFileManager defaultManager];//temp文件目录 NSString *path1 = NSTemporaryDirectory(); path1=[path1 stringByAppendingPathComponent : @"attachment" ]; //拼接路径 temp/attachment [fileManager createDirectoryAtPath:path1 withIntermediateDirectories:YES attributes:nil error:nil]; //创建 文件夹
path1=[path1 stringByAppendingPathComponent : @"我的文件.doc"]; //再次拼接路径 [fileManager createFileAtPath:path1 contents:nil attributes:nil]; //创建 文件
判断文件是否存在:
[fileManager fileExistsAtPath:path1]
0 0
- iOS webView 加载文件 及 文件操作
- iOS:WebView 加载PDF文件
- ios用webview文件加载
- iOS中webview加载本地html文件
- iOS WebView加载本地html文件
- iOS开发-webView加载网页,加载静态HTML文件
- WebView加载html文件
- WebView加载文件方式
- IOS使用webview加载本地HTML文件,压入JS
- iOS webView加载本地html、css、js文件
- iOS WebView 加载本地资源(图片,文件等)
- iOS中webview加载pdf文件出现黑屏的问题
- iOS 加载本地html文件详细操作
- 用webView加载office文件
- WebView加载本地Html文件
- webview加载本地html文件
- WebView加载assets文件乱码
- WebView加载本地HTML文件
- HTTP协议与HTML表单(再谈GET与POST的区别)
- C++ 编写Windows服务
- goto对资源的释放问题的解决
- 调用手机的摄像头,并且返回照片显示在程序界面上.
- Objective-C的hook方案(一): Method Swizzling
- iOS webView 加载文件 及 文件操作
- 【Struts框架】第一节Action-struts访问request等引用方法二
- Bit-map (2) Bloom Filter 和 Counting Bloom Filter
- NAT打洞原理(转)
- python 进程间共享数据 (一)
- 杭电acm2091
- java 解析properties文件的两种方法
- VBR和CBR区别
- 《偏生要鲜花着景,应这急景流年》