Cocoa错误260,文件路径结构

时间:2012-09-25 21:08:13

标签: iphone xcode cocoa file ftp

我正在使用这种方法

-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url

在我的应用中打开文件时会提供特定的文件网址。该网址看起来像

file://localhost/Users/User/Library/Application%20Support/iPhone%20Simulator/6.0/Applications/229C1D14-28D4-4B82-8CBB-8B9BC472E7A3/Documents/Inbox/Trinity_2016-4.pdf

我正在尝试将其从文件网址转换为路径,以便将其与开源库SCRFTPRequest一起使用。

问题是当我尝试指向某个文件时,我得到了一个可可错误260,我只是想确保我正确设置它。

NSFileReadNoSuchFileError = 260,                        // Read error (no such file)

这是示例代码

SCRFTPRequest *ftpRequest = [[SCRFTPRequest alloc] initWithURL:[NSURL URLWithString:@"ftp://192.168.1.101/"] 
toUploadFile:[[NSBundle mainBundle] pathForResource:@"Info" ofType:@"plist"]];

这就是我改变它的方式

NSString *fileurl = @"file://Users/User....pdf";
NSString *path = [fileurl substringFromIndex:16];
SCRFTPRequest *ftpRequest = [[SCRFTPRequest alloc] initWithURL:[NSURL URLWithString:@"ftp://192.168.1.101/"] 
toUploadFile:path];

此代码格式正确吗?如上所述,它使用substringFromIndex将文件URL从file:// localhost / Users / User ...更改为/ Users / User ...

2 个答案:

答案 0 :(得分:3)

NSString *fileurl = @"file://Users/User....pdf";
NSString *path = [fileurl substringFromIndex:16];

您错过了正确的索引。此代码不会使path成为/Users/User....pdf,而是....pdf。如果没有方法从URL写入

中提取路径
NSString *path = [fileurl substringFromIndex:6];

就足够了。但是,既然我们有非常棒的NSURL课程,那么没有借口就没有了

NSURL *realURL = [NSURL URLWithString:fileurl];
NSString *path = [realURL path];

答案 1 :(得分:0)

您可能会收到“无此文件”错误,因为您传递的文件路径与实际文件不对应。

尝试NSLog ging您传递的桩路径并验证文件系统中是否存在该文件。