我试图使用NSURLSessionStreamTask将CSV文件上传到FTP服务器,但它不起作用。这是我的密码;
NSURLSession *session = [NSURLSession sharedSession];
NSString *uploadURL = [NSString stringWithFormat:@"ftp://%@:%@@%@", userName,password,IP];
NSURLSessionStreamTask *streamTask = [session streamTaskWithHostName:uploadURL port:21];
[streamTask writeData:pathData timeout:60.0 completionHandler:^(NSError * _Nullable error) {
if (error) {
NSLog(@"error");
}
[streamTask closeWrite];
[streamTask stopSecureConnection];
return;
}
NSLog(@"success");
[streamTask closeWrite];
[streamTask stopSecureConnection];
}];
}
[streamTask resume];
}
我收到了这条错误信息
Error Domain=kCFErrorDomainCFNetwork Code=2 "(null)" UserInfo={kCFGetAddrInfoFailureKey=8
如果你能给我任何建议或建议,请告诉我。我会很感激的。提前谢谢你。
发布于 2016-04-09 07:38:00
如果您用一个streamTaskWithHostName: port:
主机名填充的第一个参数,可能会有帮助!你给它一个网址。没有编译时错误,因为您将URL作为NSString
传递(而不是NSURL
)。您不需要uploadURL
变量,而是传入IP
。
NSURLSessionStreamTask
的要点是您自己处理所有协议事务,在处理与苹果默认处理程序无关的/不同的协议时,使用NSURLSession
系统的其余部分。换句话说,这段代码不会为您执行FTP事务;您必须自己构建和发送命令。这种情况包括上传用户名和密码信息。
https://stackoverflow.com/questions/34409115
复制相似问题