//上传代码
/// <summary>
        /// 文件上传
        /// </summary>
        /// <param name="strAddress">路径地址,不包括服务地址</param>
        /// <param name="postedFile"></param>
        /// <returns></returns>
        public static IResponseResult HttpPostFile(string strAddress, HttpPostedFile postedFile,string reFileName)
        {
            string url = ConfigHelper.GetConfigString("PAOfferSystemAddress") + strAddress;
            //1>创建请求
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            //2>Cookie容器(保存cookie,只是上传文件,则可以注释掉)
            //request.CookieContainer = cookieContainer;
            request.Method = "POST";
            request.Timeout = 120000;
            request.Credentials = System.Net.CredentialCache.DefaultCredentials;
            request.KeepAlive = true;
            string boundary = "----------------------------" + DateTime.Now.Ticks.ToString("x");//分界线
            byte[] boundaryBytes = System.Text.Encoding.UTF8.GetBytes("\r\n--" + boundary + "\r\n");
            request.ContentType = "multipart/form-data; boundary=" + boundary;//内容类型
            //3>表单数据模板
            //string formdataTemplate = "\r\n--" + boundary + "\r\nContent-Disposition: form-data; name=\"{0}\";\r\n\r\n{1}";
            //4>读取流
            byte[] buffer = new byte[postedFile.ContentLength];
            postedFile.InputStream.Read(buffer, 0, buffer.Length);
            //5>写入请求流数据
            string strHeader = "Content-Disposition:application/x-www-form-urlencoded; name=\"{0}\";filename=\"{1}\"\r\nContent-Type:{2}\r\n\r\n";
            strHeader = string.Format(strHeader,
                                     "filedata",
                //postedFile.FileName,
                                     reFileName + postedFile.FileName,
                                     postedFile.ContentType);
            //6>HTTP请求头
            byte[] byteHeader = System.Text.ASCIIEncoding.UTF8.GetBytes(strHeader);
            StringBuilder sbBody=new StringBuilder ();
            sbBody.Append(System.Text.Encoding.UTF8.GetString(boundaryBytes));
            sbBody.Append(System.Text.Encoding.UTF8.GetString(byteHeader));
            sbBody.Append(System.Text.Encoding.UTF8.GetString(buffer));
            sbBody.Append(System.Text.Encoding.UTF8.GetString(System.Text.Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n")));
            string headValue = Encrpt(sbBody.ToString());//加密
            request.Headers.Add("OfferServiceAuthorization", headValue);
            request.Headers.Add("CustomID", ConfigurationManager.AppSettings["CustomID"]);
            try
            {
                using (Stream stream = request.GetRequestStream())
                {
                    #region 写入请求流(表单数据)
                    //写入请求流(表单数据)
                    //if (null != parameters)
                    //{
                    //    foreach (KeyValuePair<string, object> item in parameters)
                    //    {
                    //        stream.Write(boundaryBytes, 0, boundaryBytes.Length);//写入分界线
                    //        byte[] formBytes = System.Text.Encoding.UTF8.GetBytes(string.Format(formdataTemplate, item.Key, item.Value));
                    //        stream.Write(formBytes, 0, formBytes.Length);
                    //    }
                    //}
                    #endregion
                    //6.0>分界线============================================注意:缺少次步骤,可能导致远程服务器无法获取Request.Files集合
                    stream.Write(boundaryBytes, 0, boundaryBytes.Length);
                    //6.1>请求头
                    stream.Write(byteHeader, 0, byteHeader.Length);
                    //6.2>把文件流写入请求流
                    stream.Write(buffer, 0, buffer.Length);
                    //6.3>写入分隔流
                    byte[] trailer = System.Text.Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n");
                    stream.Write(trailer, 0, trailer.Length);
                    //6.4>关闭流
                    stream.Close();
                }
                string responseContent = "";
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                using (StreamReader streamReader = new StreamReader(response.GetResponseStream()))
                {
                    responseContent = streamReader.ReadToEnd();
                    response.Close();
                    request.Abort();
                }
                return JsonConvertHelper.DataContractToModel<IResponseResult>(responseContent);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
//服务器代码
   HttpPostedFile file = Context.Request.Files["filedata"];//获取上传文件
            if (null == file || file.ContentLength == 0)
            {
                IResponseResult responseResult = new IResponseResult();
                responseResult.Status = ResponseStatus.Fail;
                responseResult.Message = "Upload file is invalid";
                //to json返回结果
                string toJson = JsonConvertHelper.ToJson(responseResult);
                Response.Write(toJson);
            }
            else
            {
                string filePath = Server.MapPath("~/File/Excel");
                if (!Directory.Exists(filePath))//判断文件夹是否存在 
                {
                    Directory.CreateDirectory(filePath);//不存在则创建文件夹 
                }
                file.SaveAs(string.Format("{0}/{1}", filePath, file.FileName));
                IResponseResult responseResult = new IResponseResult();
                responseResult.Status = ResponseStatus.Success;
                string toJson = JsonConvertHelper.ToJson(responseResult);
                Response.Write(toJson);
            }