Pregunta

Estoy tratando de implementar la copia de seguridad de SkyDrive en mi aplicación.Todo está funcionando bien, excepto que no tengo idea de cómo salvar fácilmente Stream (con una copia de seguridad descargada desde SkyDrive) en almacenamiento aislado.

Sé que podría desertilizar el arroyo y lo guardarlo, pero no se complicó innecesariamente.

Entonces, aquí está mi problema:

Tengo un flujo con el archivo de SkyDrive y necesito guardarlo en AisleStorage como archivo 'Configures.XML'.

Por lo tanto, debo escribir el archivo 'Stream' en Configuración en Settings.xml en almacenamiento aislado

        static void client_DownloadCompleted(object sender, LiveDownloadCompletedEventArgs e, string saveToPath)
    {
        Stream stream = e.Result; //Need to write this into IS

        try
        {
            using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())
            {
                using (IsolatedStorageFileStream fileStream = myIsolatedStorage.OpenFile(saveToPath, FileMode.Create))
                {
                    //How to save it?

                }
            }
        }...

¡Gracias!

¿Fue útil?

Solución

Utilice el método Copyto () de SteamTo () http://msdn.microsoft.COM / EN-EEUU / Library / DD782932.ASPX

using (IsolatedStorageFileStream fileStream = myIsolatedStorage.OpenFile(saveToPath, FileMode.Create))    
{    
  stream.CopyTo(fileStream);
} 

Otros consejos

El thung más rápido y más simple para hacer es copiar el bloque de bytes a bloque de una secuencia a la siguiente: consulte la respuesta aceptada en ¿Cómo copio los contenidos de una corriente a otra?


Sin embargo, si existe alguna posibilidad de que el flujo de red esté dañado o contenga datos no válidos, entonces podría valer la pena desercializar el flujo y validar antes de guardarlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top