//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;
//using System.Net;
//using System.IO;
//using System.Collections.Specialized;
//namespace HXX.Scanner.Biz
//{
// ///
// /// http工具
// ///
// public partial class http_helper
// {
// ///
// /// 同时带参数和文件的post
// ///
// /// url
// /// 文件路径列表
// /// 文件参数名
// /// 文件类型
// /// 普通参数列表
// ///
// public static string HttpUploadFile(string url, List file_list, string paramName, string contentType, NameValueCollection nvc)
// {
// string result = string.Empty;
// string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x");
// byte[] boundarybytes = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");
// HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(url);
// wr.ContentType = "multipart/form-data; boundary=" + boundary;
// wr.Method = "POST";
// wr.KeepAlive = true;
// wr.Credentials = System.Net.CredentialCache.DefaultCredentials;
// Stream rs = wr.GetRequestStream();
// string formdataTemplate = "Content-Disposition: form-data; name=\"{0}\"\r\n\r\n{1}";
// foreach (string key in nvc.Keys)
// {
// rs.Write(boundarybytes, 0, boundarybytes.Length);
// string formitem = string.Format(formdataTemplate, key, nvc[key]);
// byte[] formitembytes = System.Text.Encoding.UTF8.GetBytes(formitem);
// rs.Write(formitembytes, 0, formitembytes.Length);
// }
// rs.Write(boundarybytes, 0, boundarybytes.Length);
// foreach (var file in file_list)
// {
// //string headerTemplate = "Content-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"\r\nContent-Type: {2};\r\naccess_token:\"{3}\"\r\n\r\n";
// string headerTemplate = "Content-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"\r\nContent-Type: {2};\r\n\r\n";
// string header = string.Format(headerTemplate, paramName, file, contentType);
// byte[] headerbytes = System.Text.Encoding.UTF8.GetBytes(header);
// rs.Write(headerbytes, 0, headerbytes.Length);
// FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read);
// byte[] buffer = new byte[4096];
// int bytesRead = 0;
// while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)
// {
// rs.Write(buffer, 0, bytesRead);
// }
// fileStream.Close();
// byte[] trailer = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "--\r\n");
// rs.Write(trailer, 0, trailer.Length);
// }
// rs.Close();
// WebResponse wresp = null;
// try
// {
// wresp = wr.GetResponse();
// Stream stream2 = wresp.GetResponseStream();
// StreamReader reader2 = new StreamReader(stream2);
// result = reader2.ReadToEnd();
// }
// catch (Exception ee)
// {
// string msg = ee.Message + Environment.NewLine + Environment.NewLine;
// msg += "URL:" + url + Environment.NewLine + "Method:POST" + Environment.NewLine +
// "Content:" + "" + Environment.NewLine;
// System.Net.WebException webEE = ee as System.Net.WebException;
// if (webEE != null && webEE.Response != null)
// {
// using (System.IO.Stream st = webEE.Response.GetResponseStream())
// {
// using (System.IO.StreamReader sr = new System.IO.StreamReader(st, Encoding.UTF8))
// {
// string webmsg = sr.ReadToEnd();
// msg += Environment.NewLine + Environment.NewLine + webmsg;
// }
// }
// }
// throw new Exception(msg);
// }
// finally
// {
// wr = null;
// }
// return result;
// }
// }
//}