/// <summary> /// Parses header field from the specified value. /// </summary> /// <param name="value">Header field value. Header field name must be included. For example: 'Content-Type: text/plain'.</param> /// <returns>Returns parsed header field.</returns> /// <exception cref="ArgumentNullException">Is raised when <b>value</b> is null reference.</exception> /// <exception cref="ParseException">Is raised when header field parsing errors.</exception> public static MIME_h_ContentDisposition Parse(string value) { if (value == null) { throw new ArgumentNullException("value"); } MIME_h_ContentDisposition retVal = new MIME_h_ContentDisposition(); string[] name_value = value.Split(new[] { ':' }, 2); if (name_value.Length != 2) { throw new ParseException("Invalid Content-Type: header field value '" + value + "'."); } MIME_Reader r = new MIME_Reader(name_value[1]); string type = r.Token(); if (type == null) { throw new ParseException("Invalid Content-Disposition: header field value '" + value + "'."); } retVal.m_DispositionType = type; retVal.m_pParameters.Parse(r); retVal.m_ParseValue = value; return(retVal); }
/// <summary> /// Creates attachment entity. /// </summary> /// <param name="file">File name with optional path.</param> /// <returns>Returns created attachment entity.</returns> /// <exception cref="ArgumentNullException">Is raised when <b>file</b> is null reference.</exception> public static MIME_Entity CreateAttachment(string file) { if (file == null) { throw new ArgumentNullException("file"); } MIME_Entity retVal = new MIME_Entity(); MIME_b_Application body = new MIME_b_Application(MIME_MediaTypes.Application.octet_stream); retVal.Body = body; body.SetBodyDataFromFile(file, MIME_TransferEncodings.Base64); retVal.ContentType.Param_Name = Path.GetFileName(file); FileInfo fileInfo = new FileInfo(file); MIME_h_ContentDisposition disposition = new MIME_h_ContentDisposition(MIME_DispositionTypes.Attachment); disposition.Param_FileName = Path.GetFileName(file); disposition.Param_Size = fileInfo.Length; disposition.Param_CreationDate = fileInfo.CreationTime; disposition.Param_ModificationDate = fileInfo.LastWriteTime; disposition.Param_ReadDate = fileInfo.LastAccessTime; retVal.ContentDisposition = disposition; return(retVal); }
/// <summary> /// Parses header field from the specified value. /// </summary> /// <param name="value">Header field value. Header field name must be included. For example: 'Content-Type: text/plain'.</param> /// <returns>Returns parsed header field.</returns> /// <exception cref="ArgumentNullException">Is raised when <b>value</b> is null reference.</exception> /// <exception cref="ParseException">Is raised when header field parsing errors.</exception> public static MIME_h_ContentDisposition Parse(string value) { if (value == null) { throw new ArgumentNullException("value"); } MIME_h_ContentDisposition retVal = new MIME_h_ContentDisposition(); string[] name_value = value.Split(new[] {':'}, 2); if (name_value.Length != 2) { throw new ParseException("Invalid Content-Type: header field value '" + value + "'."); } MIME_Reader r = new MIME_Reader(name_value[1]); string type = r.Token(); if (type == null) { throw new ParseException("Invalid Content-Disposition: header field value '" + value + "'."); } retVal.m_DispositionType = type; retVal.m_pParameters.Parse(r); retVal.m_ParseValue = value; return retVal; }
/// <summary> /// Creates attachment entity. /// </summary> /// <param name="file">File name with optional path.</param> /// <returns>Returns created attachment entity.</returns> /// <exception cref="ArgumentNullException">Is raised when <b>file</b> is null reference.</exception> public static MIME_Entity CreateAttachment(string file) { if (file == null) { throw new ArgumentNullException("file"); } MIME_Entity retVal = new MIME_Entity(); MIME_b_Application body = new MIME_b_Application(MIME_MediaTypes.Application.octet_stream); retVal.Body = body; body.SetBodyDataFromFile(file, MIME_TransferEncodings.Base64); retVal.ContentType.Param_Name = Path.GetFileName(file); FileInfo fileInfo = new FileInfo(file); MIME_h_ContentDisposition disposition = new MIME_h_ContentDisposition(MIME_DispositionTypes.Attachment); disposition.Param_FileName = Path.GetFileName(file); disposition.Param_Size = fileInfo.Length; disposition.Param_CreationDate = fileInfo.CreationTime; disposition.Param_ModificationDate = fileInfo.LastWriteTime; disposition.Param_ReadDate = fileInfo.LastAccessTime; retVal.ContentDisposition = disposition; return retVal; }