ios - 将文件上传到ftp服务器时遇到问题

标签 ios iphone ftp core-foundation nsurlsession

当我尝试使用 NSURLSession 通过 FTP 上传文件时,我遇到了权限问题。但是,在尝试使用 Core Foundation 框架时,文件并未上传,而是使用我在代码中提供的名称创建了一个文件,即使没有遇到任何权限问题。对于两者,我都传递相同的凭据。如果有人想看代码,请告诉我,我会上传它。我也想添加暂停和恢复功能。所以我没有使用任何库,即使我想自己实现它,以便我可以了解。

最佳答案

为了将文件上传到 FTP 服务器,不能使用 NSURLConnection,而是使用 SCRFTPConnection。您需要包含 CFNetwork 框架。另外,下面是从 Github 下载 SCRFTPRequest.h 和 SCRFTPRequest.m 文件的链接

https://github.com/Hackmodford/SCRFTPRequest

仅复制从 Github 下载的上述 zip 文件中的 .h 和 .m 文件,并将其添加到您的项目中。

//在您的 View Controller 的 .H 文件中

导入“SCRFTPRequest.h”文件并添加委托(delegate),

//在您的 View Controller 的 .M 文件中

-(void)uploadFileUsingSCRFTPRequest{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];

    NSString *file_name=[NSString stringWithFormat:@"TEST.txt"];
    NSString *myPathDocs =  [documentsDirectory stringByAppendingPathComponent:file_name];

    SCRFTPRequest *ftpRequest = [[SCRFTPRequest alloc] initWithURL:[NSURL URLWithString:@"ftp://your_url/"] toUploadFile:myPathDocs];

    ftpRequest.username = @"username";
    ftpRequest.password = @"password";

    ftpRequest.delegate = self;

    [ftpRequest startRequest];

}

- (void)ftpRequestDidFinish:(SCRFTPRequest *)request {
    NSLog(@"Upload finished.");
}

- (void)ftpRequest:(SCRFTPRequest *)request didFailWithError:(NSError *)error {

    NSString *str=[NSString stringWithFormat:@"Upload failed: %@", [error localizedDescription]];
    NSLog(@"Upload failed: %@", [error localizedDescription]);

}

关于ios - 将文件上传到ftp服务器时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22171199/

相关文章:

iphone - ViewControler 内的导航(豪华/流行)存在于 UIScrollView 中

iphone - NSSetUncaughtExceptionHandler 无法捕获 iPhone 上的所有错误

testing - Android- 用于测试上传的公共(public) FTP 站点

ios - 在 Swift 的 uitextview 中查找单词或字符数

ios - Apple Passbook 对相关日期和地点的担忧

ios - Xcode 看不到该文件

php - php curl 传输 FTP 后图像损坏

version-control - 如何使用 Mercurial 正确更新实时服务器?

iphone - UISegment 控件背景图片用户更改

ios - 在 TabBarController 中的 View 之间传递数据