NSData到NSUrl,反之亦然

时间:2013-09-29 19:47:18

标签: ios

我正在使用多重连接来发送文件。当我发送它时,我以NSData的形式使用它,但该方法需要NSUrl,并且在接收文件时也是如此。设备接收NSUrl,我必须将其转换为NSData。所以:

NSdata => NSUrl ........ NSUrl => NSData的

对于第一个(NSData到NSUrl)我试过这个:

1)

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"sendData.xxxxxxx"];

    [myData writeToFile:filePath atomically:YES];
    NSURL *urlData = [NSURL fileURLWithPath:filePath];

    NSProgress *progress = [session sendResourceAtURL:urlData withName:@"Resource" toPeer:peerID withCompletionHandler:nil];

2)

NSURL* fileURL = [[NSURL alloc] init];
    [myData writeToURL:fileURL atomically:YES];

最后我可以发送网址:

[session sendResourceAtURL:urlData withName:@"Resource" toPeer:peerID withCompletionHandler:nil];

对于我做的第二个:

NSData* data = [NSData dataWithContentsOfURL:localURL options:NSDataReadingUncached error:&error];

...但有时应用程序崩溃,当我尝试发送更大的文件时会发生这种情况。我认为这是因为系统需要时间来写文件,无论如何,如果我需要再次“保存”文件,整个过程将需要更长的时间。是否有更快更安全的方式?

0 个答案:

没有答案