private byte[] GetBinaryData(ContentMimeType contentType)
        {
            string filePath = GetBinaryDataFile(contentType);

            byte[] binaryData = null;
            using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
            {
                MemoryStream mem = new MemoryStream();
                fs.CopyTo(mem);
                binaryData = mem.ToArray();
            }

            return(binaryData);
        }
        private string GetBinaryDataFile(ContentMimeType contentType)
        {
            string codeBasePath = this.GetType().GetTypeInfo().Assembly.CodeBase;
            var    uri          = new UriBuilder(codeBasePath);
            string path         = Uri.UnescapeDataString(uri.Path);

            path = Path.GetDirectoryName(path);

            string binaryFilePath = string.Empty;

            if (Directory.Exists(path))
            {
                switch (contentType)
                {
                case ContentMimeType.Audio:
                {
                    var files = Directory.EnumerateFiles(path, "*.wav", SearchOption.AllDirectories);
                    if (files.Any())
                    {
                        binaryFilePath = files.First <string>();
                    }
                    break;
                }

                case ContentMimeType.Image:
                {
                    var files = Directory.EnumerateFiles(path, "*.png", SearchOption.AllDirectories);
                    if (files.Any())
                    {
                        binaryFilePath = files.First <string>();
                    }
                    break;
                }
                }
            }
            return(binaryFilePath);
        }
 public BinaryDataDelegatingHandler(ContentMimeType mimeType) : base()
 {
     ContentType = mimeType;
 }