NSUrlSessionDownloadDelegate - DidFinishDownloading检查“找不到文件”

时间:2017-08-14 10:31:54

标签: ios xamarin xamarin.ios

我在iOS应用上设置了后台下载程序。我唯一的问题是检查文件是否存在服务器端(因为它可能不存在)。

public override void DidFinishDownloading(NSUrlSession session, NSUrlSessionDownloadTask downloadTask, NSUrl location)

即使没有要抓取的文件,也会一直返回,但是会保存tmp文件,就像它已成功下载一样。像这样。

// Create the filename
var documentsFolderPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
NSUrl destinationURL = NSUrl.FromFilename(Path.Combine(documentsFolderPath, destFile));

// Remove any existing file in our destination
NSError error;
fileManager.Remove(destinationURL, out error);
bool success = fileManager.Copy(sourceFile, documentsFolderPath + "/" + destFile, out error);
if (!success)
{
    Console.WriteLine("Error during the copy: {0}", error.LocalizedDescription);
}

现在我如何从这里检查响应状态?当我在后台下载时,我无法使用完成块,这是我能找到的唯一可以获得响应状态的地方。

我能看到处理这个问题的另一种方法是在设置任务之前“ping”文件,检查它是否存在,这是正确的还是我可以让这个下载委托来处理它?<​​/ p>

0 个答案:

没有答案