日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS GoldRaccoon第三方FTP文件夹下载失败原因

發布時間:2023/12/13 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS GoldRaccoon第三方FTP文件夹下载失败原因 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、問題描述:1.下載失敗報錯:

文件寫入失敗Error Domain=NSCocoaErrorDomain Code=512 "未能將文件“jquery_1_10_2_min.js”存儲到文件夾“Q20180104153006399”中。"

?

原因及解決方法:文件夾下均為文件,不包含子文件夾,GoldRaccoon第三方不會創建存儲的本地文件夾,所以需要自己提前手動創建好下載的本地文件夾

NSFileManager *fileManager = [NSFileManager defaultManager];NSString *zhenggedizhi1 = [documentsDirectoryPath stringByAppendingString:[NSString stringWithFormat:@"/%@/Q20180104153006399",@"OralQuesBank"]];[fileManager createDirectoryAtPath:zhenggedizhi1 withIntermediateDirectories:YES attributes:nil error:nil];

?

二、補充:GoldRaccoon基本使用方法

第三方GoldRaccoon使用方法主要參考網址:https://blog.csdn.net/wobushizhaoqian/article/details/72845898?locationNum=10&fps=1

代碼:

/** 下載FTP資源 */ #import "GRRequestsManager.h" #import "GRListingRequest.h" #import "FCFileManager.h" <GRRequestsManagerDelegate> @property (nonatomic, strong) GRRequestsManager *requestsManager;

?

- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view.self.view.backgroundColor = [UIColor orangeColor]; UIButton *downBtn = [UIButton buttonWithType:UIButtonTypeCustom];[downBtn setTitle:@"下載" forState:UIControlStateNormal];downBtn.backgroundColor = [UIColor cyanColor];[downBtn addTarget:self action:@selector(startDownClick) forControlEvents:UIControlEventTouchUpInside];[self.view addSubview:downBtn];[downBtn mas_makeConstraints:^(MASConstraintMaker *make) {make.center.equalTo(self.view);make.size.mas_equalTo(CGSizeMake(50, 40));}]; }- (void)startDownClick{//列表localuser下的文件夾目錄,這里做的只是列表目錄下面有什么[self.requestsManager addRequestForListDirectoryAtPath:@"OralQuesBank/Q20180104153006399"]; [self.requestsManager startProcessingRequests]; } #pragma mark *** GRRequestsManagerDelegate *** //代理方法,每次執行列表方法都會走這個方法 - (void)requestsManager:(id<GRRequestsManagerProtocol>)requestsManager didCompleteListingRequest:(id<GRRequestProtocol>)request listing:(NSArray *)listing{//沙盒目錄NSString *documentsDirectoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];GRListingRequest *req = (GRListingRequest *)request;//遠程文件夾列表NSLog(@"%@",listing);//打印創建的目錄NSLog(@"%@",documentsDirectoryPath);NSFileManager *fileManager = [NSFileManager defaultManager];
NSString
*zhenggedizhi1 = [documentsDirectoryPath stringByAppendingString:[NSString stringWithFormat:@"/%@/Q20180104153006399",@"OralQuesBank"]];[fileManager createDirectoryAtPath:zhenggedizhi1 withIntermediateDirectories:YES attributes:nil error:nil];//文件夾列表枚舉[listing enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
    
if ([[obj pathExtension] isEqualToString:@""]) {//整個地址,在沙盒中創建和遠程文件一樣的文件夾目錄NSString *zhenggedizhi = [documentsDirectoryPath stringByAppendingString:[NSString stringWithFormat:@"%@/%@",req.path,obj]];//如果沙盒中的這個文件夾不存在就創建if (![fileManager fileExistsAtPath:zhenggedizhi]) {[fileManager createDirectoryAtPath:zhenggedizhi withIntermediateDirectories:YES attributes:nil error:nil];}//然后接著遞歸列舉文件夾下的子文件夾下的目錄[self.requestsManager addRequestForListDirectoryAtPath:[NSString stringWithFormat:@"%@%@",req.path,obj]];[self.requestsManager startProcessingRequests];}else{//如果目錄下的不是文件夾,則下載這個文件到沙盒的指定目錄下NSString *zhenggedizhi = [documentsDirectoryPath stringByAppendingString:[NSString stringWithFormat:@"%@/%@",req.path,obj]];//如果沙盒中的這個文件夾不存在就創建if (![fileManager fileExistsAtPath:zhenggedizhi]) {[fileManager createDirectoryAtPath:zhenggedizhi withIntermediateDirectories:YES attributes:nil error:nil];}[self.requestsManager addRequestForDownloadFileAtRemotePath:[NSString stringWithFormat:@"%@/%@",req.path,obj] toLocalPath:[documentsDirectoryPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@%@",req.path,obj]]];[self.requestsManager startProcessingRequests];}}];} - (void)requestsManager:(id<GRRequestsManagerProtocol>)requestsManager didFailRequest:(id<GRRequestProtocol>)request withError:(NSError *)error {NSLog(@"請求失敗requestsManager:didFailRequest:withError: \n %@", error);// NSString *errorStr = [NSString stringWithFormat:@"%@",error]; // [self downLoadFail];//可添加處理下載失敗后自己的刪除文件夾路徑方法 }- (void)requestsManager:(id<GRRequestsManagerProtocol>)requestsManager didFailWritingFileAtPath:(NSString *)path forRequest:(id<GRDataExchangeRequestProtocol>)request error:(NSError *)error{LSLog(@"文件寫入失敗%@",error); }- (void)requestsManagerDidCompleteQueue:(id<GRRequestsManagerProtocol>)requestsManager{LSLog(@"整個文件夾下載完成+++++++++++++++++"); }#pragma mark - layzy - (GRRequestsManager *)requestsManager{if (!_requestsManager) {_requestsManager = [[GRRequestsManager alloc] initWithHostname:@"ftp://11.11.111.11:12" user:@"Administrator" password:@"這是ftp密碼"];// 設置代理_requestsManager.delegate = self;}return _requestsManager; }

?

轉載于:https://www.cnblogs.com/wusang/p/9110689.html

總結

以上是生活随笔為你收集整理的iOS GoldRaccoon第三方FTP文件夹下载失败原因的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。