我正在使用这种方法
-(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 ...
答案 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您传递的桩路径并验证文件系统中是否存在该文件。