做OA系统都避免不了文件操作.如何下载使用什么去预览有很多博客教程这里不记录
在做文件下载的时候大多是情况下后台返回下载地址一般都含有中文,首先需对下载地址含有中文的情况做下处理
我这里有一个上传附件的功能从其他APP转存过来的文件会保存在以下目录中
NSString *documents = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; ///和上传附件同一个目录 fileDir = [documents stringByAppendingPathComponent:@"Inbox"]; 复制代码
为了方便管理我把下载的文件也放在上面的目录中 刚开始给文件起名字的时候用了lastPathComponent这个方法
//lastPathComponent的作用是从路径中获得完整的文件名(带后缀) [filePath lastPathComponent] 复制代码
因为下载地址含有中文是处理过的就导致下载成功之后保存的文件名是乱码的 用UIDocumentInteractionController去显示的时候就会报错
进入这个目录去查看文件发现文件是存在的但是文件名不一样 在存的时候注意下文件命名,下载完成之后返回就可以正常显示了//返回的时候要返回[filePath path]不要返回[filePath absoluteString]返回absoluteString的时候路径格式就是file:///var/xxxxx这样一样会报找不到文件的问题 复制代码
一开始没注意这个问题挖了坑,记录下