Как я могу записать папку ресурсов образа WPF на диск? - PullRequest
0 голосов
/ 08 марта 2010

У меня есть папка в моем приложении WPF «Изображения», в которой есть несколько файлов .png, для которых для параметра «Сборка» задано значение «Ресурс». Они встроены в мой двоичный файл, так как я могу ссылаться на них в XAML.

Я хотел бы записать их на диск во временной папке. Как мне это сделать?

Я нашел несколько ответов, относящихся к встроенным ресурсам, но не просто к ресурсам.

1 Ответ

1 голос
/ 09 марта 2010

Ответ!

 public static void ExtractFileFromResources(String filename, String location)
  {

     StreamResourceInfo sri =  System.Windows.Application.GetResourceStream(
      new Uri("pack://application:,,,/Images/" + filename));

     Stream resFilestream = sri.Stream;

     if (resFilestream != null)
     {
        BinaryReader br = new BinaryReader(resFilestream);
        FileStream fs = new FileStream(location, FileMode.Create);
        BinaryWriter bw = new BinaryWriter(fs);
        byte[] ba = new byte[resFilestream.Length];
        resFilestream.Read(ba, 0, ba.Length);
        bw.Write(ba);
        br.Close();
        bw.Close();
        resFilestream.Close();
     }

  }
...