According to the answer here I want to write multiple files stream to one stream as following:
4 byte reserved for length number of each stream each stream content write after it's length number(after 4 byte) at the end stream will be something like this
Stream = File1 len + File1 stream content + File2 len + File2 stream content + ....
Example code:
result = new ExportResult_C()
{
PackedStudy = packed.ToArray() ,
Stream = new MemoryStream()
};
string[] zipFiles = Directory.GetFiles(zipRoot);
foreach (string fileN in zipFiles)
{
MemoryStream outFile = new MemoryStream(File.ReadAllBytes(fileN));
MemoryStream len = new MemoryStream(4);
//initiate outFile len to 4 byte push it to main stream
//Then push outFile stream to main stream
//Continue and do this for another file
}
//For test Save stream to file(s)
is it good idea? really don't know how that comments can be lines of code.
Thanks in advance.
I think there is a better solution I posted as answer to my question here multiple file byte will be serialized to one stream and in client side it will be deserialized to a class of byte array.
see here, it may be useful.
But I have accepted the @jdweng solution and I appreciate his attention and help.
Try this