I have some files, which are embedded in a resource. How can I save these files on disk via C#?
Asked
Active
Viewed 4,809 times
3 Answers
6
This should do your job:
string strTempFile = Path.GetTempFileName();
File.WriteAllBytes(strTempFile, Properties.Resources.YourBinaryFileInResource);
Be sure, that the FileType of the included files is set to "binary".

Aykut Çevik
- 2,060
- 3
- 20
- 27
3
using streams: GetManifestResourceStream gives you a stream to the file in the resource and using a StreamWriter you can write the contents of that stream to disk.

testalino
- 5,474
- 6
- 36
- 48
2
You can get the resource stream, then read from the stream while writing to the file.
byte[] buffer = new byte[1024];
using (Stream output = File.OpenWrite("filename"))
{
using (Stream resourceStream = typeof(Class1).Assembly.GetManifestResourceStream("name of resource"))
{
int bytes = -1;
while ((bytes = resourceStream.Read(buffer, 0, buffer.Length)) > 0)
{
output.Write(buffer, 0, bytes);
}
}
}
Code is completely untested, just to give you an idea.

Thomas James
- 511
- 5
- 15