http上传文件代码

</pre><pre name="code" class="csharp">        public static string PostData(string url,byte[] data)
        {
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            req.KeepAlive = false;
            req.Method = "POST";
            req.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
            req.Credentials = CredentialCache.DefaultCredentials;
            Encoding encode = new UTF8Encoding();
            using (Stream stream = req.GetRequestStream())
            {
                Dictionary<string, string> nvc = new Dictionary<string, string>();
                nvc.Add("Type", "1");
                nvc.Add("StartDate", DateTime.Now.AddDays(-1).Date.ToString("yyyy-MM-dd 00:00:00"));
                nvc.Add("EndDate", DateTime.Now.Date.ToString("yyyy-MM-dd 00:00:00"));
                string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x");
                byte[] boundarybytes = Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");
                req.ContentType = "multipart/form-data; boundary=" + boundary;
                string formdataTemplate = "Content-Disposition: form-data; name=\"{0}\"\r\n\r\n{1}";
                //传入参数
                foreach (string key in nvc.Keys)
                {
                    stream.Write(boundarybytes, 0, boundarybytes.Length);
                    string formitem = string.Format(formdataTemplate, key, nvc[key]);
                    byte[] formitembytes = encode.GetBytes(formitem);
                    stream.Write(formitembytes, 0, formitembytes.Length);
                }
                stream.Write(boundarybytes, 0, boundarybytes.Length);
                //传入图片
                string formitem1 = ("Content-Disposition: form-data; name=\"image\";filename=\"image\"\r\n\r\n");
                byte[] formitembytes1 = encode.GetBytes(formitem1);
                stream.Write(formitembytes1, 0, formitembytes1.Length);
                stream.Write(data,0,data.Length);


                stream.Write(boundarybytes, 0, boundarybytes.Length);
                byte[] trailer = Encoding.ASCII.GetBytes("\r\nContent-Type: application/x-form-www-urlencoded\r\n\r\n\r\n--" + boundary + "--\r\n");
                stream.Write(trailer, 0, trailer.Length);
            }


            WebResponse res = req.GetResponse();
            StreamReader sr = new StreamReader(res.GetResponseStream(), encode);
            string result = sr.ReadToEnd();
            return result;
        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值