编写了一个方法来提取临时文件夹中的zip文件,并且使得类中的所有方法都是使用NSURL而不是路径启动的,但是当尝试将路径更改为NSURL时,它返回null。
//handles all ZIP Extraction
-(NSURL*)handleZIPExtractionAtDestination:(NSURL*)destinationURL
{
NSString *destPath=[[destinationURL path]
stringByAppendingPathComponent:
[[[_archiveURL lastPathComponent] componentsSeparatedByString:@"."]
firstObject]];
BOOL result=[SSZipArchive unzipFileAtPath:[_archiveURL path] toDestination:destPath];
if(!result)
{
NSLog(@"Couldn't extract the Files.");
return nil;
}
NSLog(@"%@",destPath);
NSURL *url=[NSURL URLWithString:destPath];
NSLog(@"%@",url);
return url;
}
结果:
destPath = / private / var / mobile / Containers / Data / Application / 43DB7D13-9999-4231-B8AB-885CF8757931 / tmp / 715F6E97-968B-4FD9-A517-D9C2320A85A3-3213-0000043B8B4AFD91 / 900156_d378ef9fe1 2
URL =空
destPath将NSTemporaryDirectory
与globallyUniqueString
NSProcessInfo
一起使用
答案 0 :(得分:2)
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:filePath];
试试这个
答案 1 :(得分:1)
结果为空,因为您的destPath
变量包含相对网址路径未完成url.for NSURL
您需要完整路径,例如http://web.com/you/file/path.html
如果你想要本地路径,那么它应该是file:///path/to/your/file.html