2

我已经使用FTPHelper类从 ftp 上传、下载文件。它工作得很好。删除操作中产生的问题。当我从 ftp 服务器删除文件时,什么也没有发生!我不知道我哪里错了。我已经参考了stackoverflow 链接来解决从 ftp 删除文件但无法做到这一点。下面是我从 ftp 删除文件的代码。

pragma mark ***** 从 FTP 删除文件

+(void)deleteFileFromFTPforItem:(NSString *) anItem
{
    [sharedInstance deleteFileFromFTPforItem:anItem];
} 

-(void)deleteFileFromFTPforItem:(NSString *) anItem
{
    if (!self.uname || !self.pword) COMPLAIN_AND_BAIL(@"Please set user name and password first");
    if (!self.urlString) COMPLAIN_AND_BAIL(@"Please set URL string first");
    
    NSString *baseDeleteURL =  [NSString stringWithFormat:@"%@/",self.urlString];
    
    NSString *deleteFilePath = [baseDeleteURL stringByAppendingString:anItem];
    
    CFURLRef deleteURL = (CFURLRef)[[NSURL alloc] initWithString:deleteFilePath];
    
    //SInt32 *errorCode = NULL;
    
    //CFURLDestroyResource(deleteURL, errorCode);
    DeleteFile(deleteURL);
    
    CFRelease(deleteURL);
    
}

static Boolean DeleteFile(CFURLRef urlToDelete)
{
    Boolean success = true;
    CFURLRef deleteURL = urlToDelete;
    SInt32 *errorCode = NULL;
    success = CFURLDestroyResource(deleteURL, errorCode);
    return success;
}

请给我一个正确的解决方案,我哪里出错了。我浏览了很多东西,但无法获得从 ftp 删除文件的正确方法。我已经提到了向/从 ftp 上传和下载文件的链接。你的帮助将是可观的。先谢谢了

4

1 回答 1

-1

长话短说,NSURL 和 CFURL 中的 FTP 支持应该被视为仅下载。我认为它从来没有完全工作过,而且 ftp 无论如何都被彻底弃用,除了匿名下载之外的任何目的,所以它不太可能被修复。

您可以使用其他 FTP 访问框架,如本问题所述:

CFURLDestroyResource 现在在 iOS7 中已被弃用。有人知道用什么代替吗?

但实际上,您可能应该问自己,与(例如)WebDAV 相比,使用 FTP 是否真的是做任何您想做的事情的正确方法。

于 2015-08-23T21:43:24.597 回答