как сохранить файл в изолированной программной среде приложения wp7 с веб-сервера? - PullRequest
1 голос
/ 11 августа 2011

В моем приложении я должен сохранить текстовый файл, а также двоичные файлы с веб-сервера по протоколу http. Может ли кто-нибудь дать мне какие-нибудь советы, как поступить?

1 Ответ

1 голос
/ 11 августа 2011

Вы можете загрузить файлы и скопировать их в изолированное хранилище.

Как то так ...

        private void DownloadFiles()
    {
        var wc = new WebClient();
        wc.OpenReadCompleted += WcOpenReadCompleted;
        wc.OpenReadAsync(new Uri("http://myserver/myfile.file", UriKind.Absolute));
    }

    public static void CopyStream(Stream input, Stream output)
    {
        var buffer = new byte[32768];
        while (true)
        {
            int read = input.Read(buffer, 0, buffer.Length);
            if (read <= 0)
                return;

            output.Write(buffer, 0, read);
        }
    }

    private static void WcOpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
    {
        using (IsolatedStorageFile userStoreForApplication = IsolatedStorageFile.GetUserStoreForApplication())
        {
            var isolatedStorageFileStream = userStoreForApplication.CreateFile("mylocalfilename");

            using (isolatedStorageFileStream)
            {
                CopyStream(e.Result, isolatedStorageFileStream);
            }
        }
    }
...