0

私はこの方法を使用しています

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

アプリでファイルを開くと、特定のファイルの URL が表示されます。そのURLは次のようになります

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

これをファイル URL からパスに変換して、オープン ソース ライブラリSCRFTPRequestで使用できるようにしようとしています。

問題は、ファイルを指定しようとすると cocoa エラー 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... に変更します。

4

2 に答える 2

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

正しいインデックスがありません。このコードは ではなく、にpathなります。URL 書き込みからパスを抽出する方法がなかった場合/Users/User....pdf....pdf

NSString *path = [fileurl substringFromIndex:6];

で十分でしょう。しかし、私たちはすばらしい NSURL クラスを持っているので、失敗しない言い訳はありません。

NSURL *realURL = [NSURL URLWithString:fileurl];
NSString *path = [realURL path];
于 2012-09-26T04:46:46.250 に答える
0

実際のファイルに対応しないファイルパスを渡したため、「そのようなファイルはありません」というエラーが発生している可能性があります。

通過するパイルパスNSLogを変更して、ファイルがファイルシステムに実際に存在することを確認してください。

于 2012-09-26T04:49:30.037 に答える