来自字符串的NSURL不起作用

时间:2016-03-18 07:33:58

标签: ios objective-c nsurl

编写了一个方法来提取临时文件夹中的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将NSTemporaryDirectorygloballyUniqueString

中的NSProcessInfo一起使用

2 个答案:

答案 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