L'un des flux de travail fournis par VDF est le téléchargement d'un fichier. Lors du téléchargement d'un fichier à partir du coffre-fort, il existe en général plusieurs autres étapes outre le simple téléchargement à partir du serveur Vault. Il s'agit notamment de la définition de l'emplacement du dossier de travail pour le fichier, de l'affichage d'une boîte de dialogue de progression, de la réparation des références de fichier corrompues en raison de déplacements ou de changements de noms, etc. Même si les applications client ne requièrent pas cette logique applicative, le calque VDF offre des avantages supplémentaires. En effet, il améliore les performances grâce au téléchargement de fichiers en parallèle et masque la complexité liée à l'utilisation du service du magasin de fichiers.
A l'instar de plusieurs domaines de fonctionnalité fournis par VDF, il existe une version avec interface utilisateur graphique et une version sans interface utilisateur graphique des méthodes d'API d'acquisition de fichiers. La méthode d'acquisition de fichiers sans interface utilisateur graphique est accessible via le service FileManager de la classe de la connexion VDF. Ce service propose plusieurs méthodes différentes pour travailler avec les fichiers Vault. La méthode spécifique à utiliser pour le téléchargement d'un ou de plusieurs fichiers Vault est disponible en deux versions, FileManager.AcquireFiles() et FileManager.AcqurieFilesAsync(). Comme leur nom l'indique, la première version est un appel de téléchargement synchrone alors que la deuxième est un appel asynchrone qui renvoie immédiatement vers une tâche System.Threading.Tasks.Task que vous pouvez utiliser pour planifier une suite. Les versions avec interface utilisateur graphique des méthodes d'acquisition de fichiers sont nommées de manière similaire, AcquireFiles() et AcquireFilesAsync(), mais sont accessibles à partir de la classe VDF.Vault.Forms.Library. Comme pour la méthode sans interface utilisateur graphique, la version avec interface utilisateur graphique asynchrone permet de contrôler la méthode d'appel quasi immédiatement et renvoie une tâche du travail d'acquisition réel. Les méthodes avec interface utilisateur graphique affichent par défaut une boîte de dialogue de progression pendant le téléchargement. La boîte de dialogue de progression est non modale si la version asynchrone est utilisée. Dans le cas contraire, elle est modale.
Toutes ces méthodes d'acquisition différentes acceptent une forme d'objet de configuration pour contrôler plusieurs aspects du flux de travail d'acquisition. Les méthodes sans interface utilisateur graphique acceptent la classe VDF.Vault.Settings.AcquireFilesSettings comme paramètre. Cette classe est utilisée en tant que classe de base pour les différentes versions des paramètres de téléchargement. Les versions avec interface utilisateur graphique des méthodes d'acquisition de fichiers acceptent deux classes de paramètres de version ayant la classe AcquireFilesSettings comme classe de base. Il s'agit des classes VDF.Vault.Forms.Settings.ProgressAcquireFilesSettings et VDF.Vault.Forms.Settings.InteractiveAcquireFilesSettings. Ces deux classes de paramètres peuvent être transférées vers les méthodes d'acquisition de fichiers avec interface utilisateur graphique. Si les applications client utilisent la classe ProgressAcquireFilesSettings, l'utilisateur verra uniquement une boîte de dialogue de progression du téléchargement du fichier. Au contraire, si une occurrence de la classe InteractiveAcquireFilesSettings est transférée vers les méthodes d'acquisition de fichiers avec interface utilisateur graphique, VDF affiche une boîte de dialogue "Obtenir/Extraire" avant de télécharger les fichiers. Dans cette boîte de dialogue, l'utilisateur peut modifier certains paramètres de téléchargement avant le début du téléchargement (par exemple, il peut indiquer l'extraction de certains fichiers ou modifier l'emplacement de téléchargement).
Les applications client utilisent généralement toutes les classes de paramètres des fichiers de la même manière. Le processus général de configuration des paramètres d'acquisition de fichiers comprend généralement deux étapes. Tout d'abord, créez simplement une occurrence de la classe de paramètres. Le créateur du paramètre effectue une connexion VDF et cette connexion doit être la connexion au coffre-fort à partir duquel l'application client tente de télécharger les fichiers. Ensuite, ajoutez les fichiers que vous souhaitez acquérir (téléchargement) à l'occurrence des paramètres à l'aide de la méthode AcquireFilesSettings.AddEntityToAcquire(). Bien sûr, il existe plusieurs autres paramètres et des points d'évolutivité qui peuvent être ajustés. Pour obtenir plus d'informations sur les autres propriétés de paramètre, reportez-vous à la documentation du SDK. Une fois les paramètres définis, appelez la méthode AcquireFiles [Async]() appropriée et transmettez les paramètres. Un exemple d'acquisition de flux de travail à l'aide de VDF est disponible dans l'application d'exemple "VaultBrowserSample" qui est fournie avec le SDK.
Les développeurs préférant passer du SDK 2013 au SDK 2014 sont davantage susceptibles d'utiliser la méthode de téléchargement asynchrone sans interface utilisateur graphique FileManager.AcquireFiles(). En effet, les versions précédentes du SDK n'étaient pas dotées d'interface utilisateur graphique, de composants ou de méthodes asynchrones. Il est donc probable que les applications client à mettre à jour disposent déjà d'une interface utilisateur graphique ou de code quelconque pour sélectionner les fichiers à télécharger et/ou à extraire. La plupart des applications 2013 téléchargeaient probablement des fichiers à partir du coffre-fort à l'aide de la méthode DownloadFile() de DocumentService. Cette méthode télécharge simplement les données d'un fichier dans le coffre-fort. Un extrait de code utilisant cette méthode pourrait ressembler à ce qui suit :
Le code ci-dessus télécharge les données d'un fichier à partir du coffre-fort et les écrit à un emplacement spécifique. Un code qui utilise VDF pour atteindre le même but pourrait ressembler à ce qui suit :