TrakHound.Tools.Web.HTTP.GetFileContents C# (CSharp) Method

GetFileContents() private static method

Get bytes for HTTP file Content
private static GetFileContents ( FileContentData fileDatas, string boundary ) : byte[]
fileDatas FileContentData
boundary string
return byte[]
        private static byte[] GetFileContents(FileContentData[] fileDatas, string boundary)
        {
            var result = new List<byte>();

            foreach (var fileData in fileDatas)
            {
                if (File.Exists(fileData.FilePath))
                {
                    var file = new FileInfo(fileData.FilePath);

                    // Write Header Boundary
                    string headerTemplate = "Content-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"\r\nContent-Type: {2}\r\n\r\n";
                    string header = string.Format(headerTemplate, fileData.Id, fileData.FilePath, fileData.ContentType);

                    result.AddRange(GetBytes("\r\n--" + boundary + "\r\n"));
                    result.AddRange(GetBytes(header));

                    // Write File Contents
                    using (var fileStream = new FileStream(fileData.FilePath, FileMode.Open, FileAccess.Read))
                    {
                        byte[] buffer = new byte[file.Length];

                        using (var memStream = new MemoryStream())
                        {
                            int read;
                            while ((read = fileStream.Read(buffer, 0, buffer.Length)) > 0)
                            {
                                memStream.Write(buffer, 0, read);
                            }

                            result.AddRange(memStream.ToArray());
                        }
                    }
                }
            }

            return result.ToArray();
        }