我的WPF应用程序“Images”中有一个文件夹,其中有几个.png文件,其Build Action设置为Resource。这些内置于我的二进制文件中,因为我可以在XAML中引用它们。
我想将这些文件写入temp文件夹中的磁盘。我该怎么做?
我找到了几个关于嵌入式资源的答案,但不仅仅是简单的资源。
答案 0 :(得分:1)
答案!
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();
}
}