Inicio rápido: determinar la disponibilidad de los archivos de Microsoft OneDrive (HTML)

[ Este artículo está destinado a desarrolladores de Windows 8.x y Windows Phone 8.x que escriben aplicaciones de Windows en tiempo de ejecución. Si estás desarrollando para Windows 10, consulta la documentación más reciente

Determina si un archivo de OneDrive está disponible mediante la propiedad StorageFile.isAvailable.

Requisitos previos

Muchos de los métodos que se usan para interactuar con carpetas y archivos son asincrónicos. Aprende a escribir aplicaciones asincrónicas en Programación asincrónica en JavaScript.

Uso de la propiedad StorageFile.isAvailable

En Windows 8.1, los usuarios pueden marcar los archivos de OneDrive como disponibles sin conexión (valor predeterminado) o disponibles solo en línea. Esta función les permite mover archivos grandes (como imágenes y vídeos) a OneDrive, marcarlos como disponibles solo en línea y ahorrar espacio en disco (los archivos que solo contienen metadatos sobre el archivo remoto se guardan localmente).

La nueva propiedad StorageFile.isAvailable se usa para determinar si un archivo está disponible actualmente. En la siguiente tabla se muestra el valor de la propiedad StorageFile.isAvailable en diversos escenarios.

Tipo de archivo Con conexión Red de uso medido Sin conexión
Archivo local True True True
Archivo de OneDrive marcado como disponible sin conexión True True True
Archivo de OneDrive marcado como disponible solo en línea True Según la configuración del usuario False
Archivo de red True Según la configuración del usuario False

 

Los pasos siguientes ilustran cómo determinar si un archivo está disponible actualmente.

  1. Define la funcionalidad de acceso a la biblioteca adecuada. En función de la biblioteca que se enumere, necesitarás definir la funcionalidad de acceso a dicha biblioteca. Obtén más información sobre esto y sobre cómo definir otras capacidades de nivel de archivo para proyectos de Microsoft Visual Studio en Acceso a archivos y permisos en aplicaciones de la Tienda Windows.
  2. Adquiere un objeto StorageFolder que represente la carpeta donde se enumerarán los archivos. Para ello, puedes hacer referencia a una de las propiedades estáticas Windows.Storage.KnownFolders, como Windows.Storage.KnownFolders.picturesLibrary.
  3. Realiza una llamada al método StorageFolder.getFilesAsync para recuperar todos los archivos de la carpeta asociada.
  4. Itera en la colección de archivos devuelta y haz referencia a la propiedad isAvailable en todos los objetos StorageFile.

El método siguiente enumera la Biblioteca de imágenes y muestra el nombre, el nombre del proveedor y la disponibilidad de los archivos.

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;
    });
}

Resumen

En este inicio rápido has aprendido a determinar mediante programación si un archivo de OneDrive está disponible.