我在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>