来自字符串的 NSURL 不起作用
NSURL from string not working
编写了一种在临时文件夹中提取 zip 文件的方法,并使得 class 中的所有方法都使用 NSURL 而不是路径启动,但是当尝试将路径更改为 NSURL 时 returns空。
//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=null
destPath 使用 NSTemporaryDirectory
和来自 NSProcessInfo
的 globallyUniqueString
结果为空,因为您的 destPath
变量包含相对 url 路径不完整 url.for NSURL
您需要完整路径,例如 http://web.com/you/file/path.html
如果你想要本地路径那么它应该是 file:///path/to/your/file.html
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:filePath];
试试这个
编写了一种在临时文件夹中提取 zip 文件的方法,并使得 class 中的所有方法都使用 NSURL 而不是路径启动,但是当尝试将路径更改为 NSURL 时 returns空。
//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=null
destPath 使用 NSTemporaryDirectory
和来自 NSProcessInfo
globallyUniqueString
结果为空,因为您的 destPath
变量包含相对 url 路径不完整 url.for NSURL
您需要完整路径,例如 http://web.com/you/file/path.html
如果你想要本地路径那么它应该是 file:///path/to/your/file.html
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:filePath];
试试这个