Пример #1
0
        /// <summary>
        /// Returns the bytes of the posted file, converted if needed from HEIC.
        /// </summary>
        public byte[] CompatibleContentData()
        {
            if (TempFileName == null)
            {
                return(null);
            }

            using (FileStream fs = File.OpenRead(TempFileName))
            {
                // Check for HEIC
                try
                {
                    using (System.Drawing.Image img = System.Drawing.Image.FromStream(fs))
                    {
                        // If we got here then the content is Drawing Compatible - i.e., not HEIC; just return contentdata
                        fs.Seek(0, SeekOrigin.Begin);
                        byte[] rgb = new byte[fs.Length];
                        fs.Read(rgb, 0, rgb.Length);
                        return(rgb);
                    }
                }
                catch (Exception ex) when(ex is ArgumentException)
                {
                    return(MFBImageInfo.ConvertStreamToJPG(fs));
                }
            }
        }