Comment puis-je écrire un dossier de ressources d'image WPF sur le disque?
Question
J'ai un dossier dans mon application WPF « Images » qui a plusieurs fichiers .png avec leur Build Action réglé sur des ressources. Ceux-ci sont intégrés dans mon binaire puisque je peux les référencer dans XAML.
Je voudrais écrire ces sur le disque dans le dossier temp. Comment puis-je faire?
J'ai trouvé plusieurs réponses se référant aux ressources intégrées, mais pas seulement des ressources ordinaires.
La solution
Réponse
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();
}
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow