示例#1
0
        public static MultiPartContent Decode(Stream stream, string boundary = null, Encoding encoding = null)
        {
            var content = new MultiPartContent();

            content.m_Boundary = boundary;
            content.m_Stream   = stream;
            content.parseStream(stream, encoding);
            return(content);
        }
示例#2
0
        public static MultiPartContent Decode(Stream stream, string boundary = null, Encoding encoding = null)
        {
            if (stream == null || !stream.CanRead)
            {
                throw new NFXException(StringConsts.MULTIPART_STREAM_NOT_NULL_MUST_SUPPORT_READ_ERROR + typeof(MultiPartContent) + ".Decode");
            }

            var content = new MultiPartContent(stream, boundary, encoding);

            content.parseStream();
            return(content);
        }
示例#3
0
        public static JSONDataMap ToJSONDataMap(Stream stream, string streamContentType = null, Encoding encoding = null)
        {
            if (stream == null || !stream.CanRead)
            {
                throw new NFXException(StringConsts.MULTIPART_STREAM_NOT_NULL_MUST_SUPPORT_READ_ERROR + typeof(MultiPartContent) + ".ToJSONDataMap");
            }

            string boundary = null;

            if (streamContentType.IsNotNullOrWhiteSpace() && streamContentType.StartsWith(BOUNDARY_HEADER_START))
            {
                boundary = streamContentType.Substring(BOUNDARY_HEADER_START.Length);
            }

            var content = new MultiPartContent();

            content.m_Boundary = boundary;
            content.m_Stream   = stream;
            content.parseStream(stream, boundary, encoding);

            var result = new JSONDataMap();

            foreach (var part in content.Parts)
            {
                if (part.Parameters.IsField)
                {
                    result[part.Parameters.Name] = part.ContentAsString;
                }
                else
                {
                    result[part.Parameters.Name] = part.Content;
                    result[part.Parameters.Name + POSTFIX_FILENAME]     = part.Parameters.FileName;
                    result[part.Parameters.Name + POSTFIX_CONTENT_TYPE] = part.Parameters.ContentType;
                }
            }

            return(result);
        }
示例#4
0
      public static JSONDataMap ToJSONDataMap(Stream stream, string streamContentType = null, Encoding encoding = null)
      {
        if (stream == null || !stream.CanRead)
          throw new NFXException(StringConsts.MULTIPART_STREAM_NOT_NULL_MUST_SUPPORT_READ_ERROR + typeof(MultiPartContent) + ".ToJSONDataMap");

        string boundary = null;

        if (streamContentType.IsNotNullOrWhiteSpace() && streamContentType.StartsWith(BOUNDARY_HEADER_START))
          boundary = streamContentType.Substring(BOUNDARY_HEADER_START.Length);

        var content = new MultiPartContent();
        content.m_Boundary = boundary;
        content.m_Stream = stream;
        content.parseStream(stream, boundary, encoding);

        var result = new JSONDataMap();

        foreach (var part in content.Parts)
          if (part.Parameters.IsField)
          {
            result[part.Parameters.Name] = part.ContentAsString;
          }
          else
          {
            result[part.Parameters.Name] = part.Content;
            result[part.Parameters.Name + POSTFIX_FILENAME] = part.Parameters.FileName;
            result[part.Parameters.Name + POSTFIX_CONTENT_TYPE] = part.Parameters.ContentType;
          }

        return result;
      }
示例#5
0
 public static MultiPartContent Decode(Stream stream, string boundary = null, Encoding encoding = null)
 {
   var content = new MultiPartContent();
   content.m_Boundary = boundary;
   content.m_Stream = stream;
   content.parseStream(stream, encoding);
   return content;
 }
示例#6
0
        public static MultiPartContent Decode(Stream stream, string boundary = null, Encoding encoding = null)
        {
            if (stream == null || !stream.CanRead)
            throw new NFXException(StringConsts.MULTIPART_STREAM_NOT_NULL_MUST_SUPPORT_READ_ERROR + typeof(MultiPartContent) + ".Decode");

              var content = new MultiPartContent(stream, boundary, encoding);
              content.parseStream();
              return content;
        }