示例#1
0
        private static HttpRequestMessage CreateMultipartPostRequest(
            string uri,
            byte[] file,
            string fileName,
            string securityToken,
            params RequestParameter[] parameters)
        {
            Throw.IfArgumentNull(file, "file");
            Throw.IfArgumentNullOrWhitespace(fileName, "fileName");

            HttpRequestMessage request = HttpServiceClient.GetRequestTemplate(HttpMethod.Post, uri, securityToken);

            string boundary = HttpServiceClient.CreateBoundary();
            MultipartFormDataContent multipartContent = new MultipartFormDataContent(boundary);

            StreamContent streamConent = HttpServiceClient.CreateFileContent(file, fileName);

            multipartContent.Add(streamConent);

            if (parameters != null)
            {
                foreach (RequestParameter parameter in parameters)
                {
                    if (!string.IsNullOrWhiteSpace(parameter.Value))
                    {
                        multipartContent.Add(new StringContent(parameter.Value), parameter.ParameterName);
                    }
                }
            }

            request.Content = multipartContent;

            return(request);
        }