的地方這是我的代碼:AFNetworking 2.0返回下載臨時位置,而不是它保存
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];
NSString *URLForSend = [NSString stringWithFormat:@"%@/pk/%ld/", [_downloadFileURLString stringByAppendingString:_userName], (long)pk ];
NSURL *URL = [NSURL URLWithString:URLForSend];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
__unsafe_unretained typeof(self) weakSelf = self;
NSURLSessionDownloadTask *downloadTask = [manager downloadTaskWithRequest:request progress:nil destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) {
NSURL *downloadDirectoryPath = [self downloadAreaDirectoryURL];
return [downloadDirectoryPath URLByAppendingPathComponent:[targetPath lastPathComponent]];
} completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) {
NSString *relativeFilePathString = [filePath lastPathComponent];
[weakSelf updateFilePathFromStack:relativeFilePathString withpk:pk];
NSLog(@"File downloaded to: %@", filePath);
}];
return downloadTask;
我閱讀文檔幾次和Im留下了2個問題:
- 在
destination
block從哪裏得到targetPath
? - 在完成處理程序中,
filePath
將我帶到臨時文件,我想要最終保存的文件的名稱。
我希望它被保存到downloadedAreaDirectoryURL
(目錄我在緩存文件夾中打開),併爲它是downloadedAreaDirectoryURL
/fileNameLikeItsCalledFromServer
請注意,我不知道文件名前其實,我得到它,因爲我與PK數從DB
因此在filePath中的完成處理程序中,您獲得了移動文件的正確url?不是臨時?也許你是對的,我檢查是否移動失敗... –
是的,我有移動文件的URL。 – StatusReport
Magniv,會嘗試。謝謝。 –