如何将图像数据流保存到Windows Phone中本地应用程序数据文件夹的根目录?

时间:2013-03-05 10:52:54

标签: windows-phone-7 windows-phone-8

我正在尝试将图像数据流保存到文件中。我能够将它保存到图片库。 但我想将它保存到我的应用程序/项目的根目录中的文件中。 我正在尝试以下但它不起作用。

         using (MediaLibrary mediaLibrary = new MediaLibrary())
         mediaLibrary.SavePicture(@"\DefaultScreen.jpg", stream);

1 个答案:

答案 0 :(得分:1)

在这种情况下,您应该使用 LocalStorage 。 这是一个简单的解决方案:

using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
  if (!isoStore.FileExists(fileName)
  {
    var sr = Application.GetResourceStream(new Uri(fileName, UriKind.Relative));

    using (var br = new BinaryReader(sr.Stream))
    {
      byte[] data = br.ReadBytes((int)sr.Stream.Length);
      string strBaseDir = string.Empty;
      const string DelimStr = "/";
      char[] delimiter = DelimStr.ToCharArray();
      string[] dirsPath = fileName.Split(delimiter);

      // Recreate the directory structure
      for (int i = 0; i < dirsPath.Length - 1; i++)
      {
          strBaseDir = Path.Combine(strBaseDir, dirsPath[i]);
          isoStore.CreateDirectory(strBaseDir);
      }

      using (BinaryWriter bw = new BinaryWriter(isoStore.CreateFile(fileName)))
      {
          bw.Write(data);
      }
    }
  }
}

在这里,您可以找到有关Windows Phone中数据的所有信息:

http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff402541(v=vs.105).aspx