//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; // } // } //}