0
我正在編寫一個應用程序,通過網絡將文件和文件夾複製到客戶端計算機上。其他一切只是桃色。這是我不知道如何去複製文件 - 我看着NSFileManager,但似乎這需要安裝網絡驅動器。我的目標是非常透明地模擬遠程桌面的「複製文件」對話框。任何想法/幫助?通過網絡複製文件夾
編輯:看起來像一個SCP包裝,或與NSTask的SCP命令可以幫助我。但仍然想知道如何:[
我正在編寫一個應用程序,通過網絡將文件和文件夾複製到客戶端計算機上。其他一切只是桃色。這是我不知道如何去複製文件 - 我看着NSFileManager,但似乎這需要安裝網絡驅動器。我的目標是非常透明地模擬遠程桌面的「複製文件」對話框。任何想法/幫助?通過網絡複製文件夾
編輯:看起來像一個SCP包裝,或與NSTask的SCP命令可以幫助我。但仍然想知道如何:[
這是有點不清楚,如果你想知道如何使用NSTask,或使用它的SCP。
但這裏有一個簡單的使用NSTask的例子。 該命令的每個參數必須放入數組中。 所以例如用於
/bin中/ CP命令-R /Users/userName/Desktop/fooFolder/fooFile.foo /用戶/ suerName /桌面/ fooCopyToFolder
會是這樣完成的。
NSPipe *output;
NSTask *task;
task = [[NSTask alloc] init];
NSString* cpPath = @"/bin/cp";
NSString* sourcePath [email protected]"/Users/userName/Desktop/fooFolder/fooFile.foo";
NSString* finalPath = @"/Users/suerName/Desktop/fooCopyToFolder";
[task setLaunchPath:cpPath];
[task setArguments:[NSArray arrayWithObjects:@"-R",sourcePath ,finalPath, nil]];
output = [[NSPipe alloc] init];
[task setStandardOutput:output];
[task setStandardInput:[NSPipe pipe]];
[task launch];
[task waitUntilExit];
int status = [task terminationStatus];
if (status == 0) {
NSLog(@"task succeeded. %i",status);
} else {
NSLog(@"task failed.%i",status);
;
}
我明白如何使用NSTask來複制本地文件,但我想知道如何使用SCP通過本地網絡複製文件。任何骰子? – 2012-01-07 22:49:05
@ Galaxas0:除了使用'scp'而不是'cp'的路徑,並且根據需要更改參數外,其他技術都是相同的。 – 2012-01-08 02:50:02
那麼,這將讓我通過網絡複製文件?我承認是的,由於一些非常明顯的原因,但NSTask無法驗證身份,那麼我如何驗證文件傳輸? – 2012-01-08 03:03:00