Démarrage rapide : détermination de la disponibilité des fichiers Microsoft OneDrive (HTML)

[ Cet article est destiné aux développeurs de Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]

Déterminez si un fichier OneDrive est disponible à l’aide de la propriété StorageFile.isAvailable.

Prérequis

La plupart des méthodes utilisées pour interagir avec les fichiers et les dossiers sont asynchrones. Pour apprendre à écrire des applications asynchrones, voir Programmation asynchrone en JavaScript.

Utilisation de la propriété StorageFile.isAvailable

Dans Windows 8.1, les utilisateurs peuvent marquer les fichiers OneDrive comme étant disponibles hors connexion (par défaut) ou en ligne uniquement. Cette fonctionnalité permet aux utilisateurs de déplacer des fichiers volumineux (tels que des images et des vidéos) vers leur emplacement OneDrive, de les marquer comme étant en ligne uniquement et d’économiser de l’espace disque (car un fichier contenant uniquement des métadonnées sur le fichier distant est conservé en local).

Une nouvelle propriété, StorageFile.isAvailable, permet de déterminer si un fichier est actuellement disponible. Le tableau suivant indique la valeur de la propriété StorageFile.isAvailable dans différents scénarios.

Type de fichier En ligne Connexion réseau limitée Hors connexion
Fichier local True True True
Fichier OneDrive marqué comme étant disponible hors connexion True True True
Fichier OneDrive marqué comme étant en ligne uniquement True Dépend des paramètres utilisateur False
Fichier réseau True Dépend des paramètres utilisateur False

 

Les étapes suivantes illustrent comment déterminer si un fichier est actuellement disponible.

  1. Définissez les fonctionnalités d’accès appropriées à la bibliothèque. En fonction de la bibliothèque énumérée, vous devez définir les fonctionnalités d’accès à cette dernière. Pour en savoir plus sur cette question et sur la définition d’autres fonctionnalités au niveau des fichiers pour les projets Microsoft Visual Studio, voir Accès aux fichiers et autorisations dans les applications du Windows Store.
  2. Faites l’acquisition d’un objet StorageFolder représentant le dossier dont les fichiers seront énumérés. Pour cela, référencez l’une des propriétés statiques Windows.Storage.KnownFolders, comme Windows.Storage.KnownFolders.picturesLibrary.
  3. Appelez la méthode StorageFolder.getFilesAsync pour récupérer tous les fichiers dans le dossier associé.
  4. Itérez la collection de fichiers retournée, en référençant la propriété isAvailable de chaque objet StorageFile.

La méthode suivante énumère la bibliothèque d’images et affiche le nom, le fournisseur et la disponibilité de chaque fichier.

function OnDisplayAvailabilityClick(mouseEvent) {
    var output = document.getElementById("Output");

    var library = Windows.Storage.KnownFolders.picturesLibrary;
    var outString = "";
    library.getFilesAsync().then(function (files) {
        files.forEach(function (file) {
            outString += file.name + " (on " + file.provider.displayName + ") is " + (file.isAvailable ? "available" : "not available") + "\n";
        });
        output.innerText = outString;
    });
}

Récapitulatif

Dans ce didacticiel de démarrage rapide, vous avez appris à déterminer par programmation si un fichier OneDrive est disponible.