예제 #1
0
        private MimeType[] ReadMimeTypes(XmlElement element)
        {
            var types = new System.Collections.ArrayList();
            var nodes = element.ChildNodes;

            for (var i = 0; i < nodes.Count; i++)
            {
                var node = nodes.Item(i);
                if (Convert.ToInt16(node.NodeType) != (short)XmlNodeType.Element)
                {
                    continue;
                }

                var nodeElement = (XmlElement)node;

                if (!nodeElement.Name.Equals("mime-type"))
                {
                    continue;
                }

                var type = ReadMimeType(nodeElement);

                if (type != null)
                {
                    types.Add(type);
                }
            }
            return((MimeType[])SupportUtil.ToArray(types, new MimeType[types.Count]));
        }
예제 #2
0
        public MimeType GetFileMimeType(string fileName)
        {
            sbyte[] fileData;

            using (var srcFile = new FileStream(fileName, FileMode.Open, FileAccess.Read))
            {
                var data = new byte[srcFile.Length];
                srcFile.Read(data, 0, (Int32)srcFile.Length);
                fileData = SupportUtil.ToSByteArray(data);
            }

            return(this.GetMimeType(fileData));
        }
예제 #3
0
        /// <summary> Returns an array of matching MimeTypes from the specified name
        /// (many MimeTypes can have the same registered extensions).
        /// </summary>
        private MimeType[] GetMimeTypes(System.String name)
        {
            System.Collections.IList mimeTypes = null;
            int index = name.LastIndexOf((System.Char) '.');

            if ((index != -1) && (index != name.Length - 1))
            {
                // There's an extension, so try to find
                // the corresponding mime-types
                System.String ext = name.Substring(index + 1);
                mimeTypes = (System.Collections.IList)extIdx[ext];
            }

            return((mimeTypes != null) ? (MimeType[])SupportUtil.ToArray(mimeTypes, new MimeType[mimeTypes.Count]) : null);
        }
예제 #4
0
파일: MimeType.cs 프로젝트: Maaak/academy13
            internal Magic(MimeType obMimeType, int offset, System.String type, System.String magic)
            {
                if (null == obMimeType)
                {
                    throw new ArgumentNullException("Null MimeType object");
                }
                m_obMimeType   = obMimeType;
                this.m_iOffset = offset;

                if ((type != null) && (type.Equals("System.Byte")))
                {
                    this.m_collMagic = ReadBytes(magic);
                }
                else
                {
                    this.m_collMagic = SupportUtil.ToSByteArray(SupportUtil.ToByteArray(magic));
                }
            }
예제 #5
0
 private MimeType[] ReadMimeTypes(System.Xml.XmlElement element)
 {
     System.Collections.ArrayList types = new System.Collections.ArrayList();
     System.Xml.XmlNodeList       nodes = element.ChildNodes;
     for (int i = 0; i < nodes.Count; i++)
     {
         System.Xml.XmlNode node = nodes.Item(i);
         if (System.Convert.ToInt16(node.NodeType) == (short)System.Xml.XmlNodeType.Element)
         {
             System.Xml.XmlElement nodeElement = (System.Xml.XmlElement)node;
             if (nodeElement.Name.Equals("mime-type"))
             {
                 MimeType type = ReadMimeType(nodeElement);
                 if (type != null)
                 {
                     types.Add(type);
                 }
             }
         }
     }
     return((MimeType[])SupportUtil.ToArray(types, new MimeType[types.Count]));
 }
예제 #6
0
파일: MimeType.cs 프로젝트: Maaak/academy13
 /// <summary>
 ///
 /// </summary>
 /// <returns></returns>
 public override System.String ToString()
 {
     System.Text.StringBuilder buf = new System.Text.StringBuilder();
     buf.Append("[").Append(m_iOffset).Append("/").Append(SupportUtil.ToByteArray(m_collMagic)).Append("]");
     return(buf.ToString());
 }