我正试图将skydrive备份实施到我的应用程序中。一切都在正常工作,除了我不知道如何轻松地将流(从skydrive从skydrive备份)放入孤立的Storarage。

我知道我可以解除流并不是保存它,但它会不必要地复杂化。

所以,这是我的问题:

我有一个来自skydrive的文件的流,我需要将其保存到distrateStorage作为文件'settings.xml'。

基本上,我需要将“Stream”写入Settings.xml文件中的孤立存储

        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?

                }
            }
        }...
.

谢谢!

有帮助吗?

解决方案

使用Steam的CopyTo()方法 - http://msdn.microsoft。COM / EN-US / LIBRARY / DD782932.aspx

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

其他提示

最快和最简单的Thung do是将block从一个流复制到下一个流 - 请参阅如何将一个流的内容复制到另一个流?


但是,如果有任何机会,网络流将被损坏或包含无效数据,那么它可能值得反对流并在保存之前验证。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top