http_helper_upload - backup.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. //using System;
  2. //using System.Collections.Generic;
  3. //using System.Linq;
  4. //using System.Text;
  5. //using System.Threading.Tasks;
  6. //using System.Net;
  7. //using System.IO;
  8. //using System.Collections.Specialized;
  9. //namespace HXX.Scanner.Biz
  10. //{
  11. // /// <summary>
  12. // /// http工具
  13. // /// </summary>
  14. // public partial class http_helper
  15. // {
  16. // /// <summary>
  17. // /// 同时带参数和文件的post
  18. // /// </summary>
  19. // /// <param name="url">url</param>
  20. // /// <param name="file_list">文件路径列表</param>
  21. // /// <param name="paramName">文件参数名</param>
  22. // /// <param name="contentType">文件类型</param>
  23. // /// <param name="nvc">普通参数列表</param>
  24. // /// <returns></returns>
  25. // public static string HttpUploadFile(string url, List<string> file_list, string paramName, string contentType, NameValueCollection nvc)
  26. // {
  27. // string result = string.Empty;
  28. // string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x");
  29. // byte[] boundarybytes = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");
  30. // HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(url);
  31. // wr.ContentType = "multipart/form-data; boundary=" + boundary;
  32. // wr.Method = "POST";
  33. // wr.KeepAlive = true;
  34. // wr.Credentials = System.Net.CredentialCache.DefaultCredentials;
  35. // Stream rs = wr.GetRequestStream();
  36. // string formdataTemplate = "Content-Disposition: form-data; name=\"{0}\"\r\n\r\n{1}";
  37. // foreach (string key in nvc.Keys)
  38. // {
  39. // rs.Write(boundarybytes, 0, boundarybytes.Length);
  40. // string formitem = string.Format(formdataTemplate, key, nvc[key]);
  41. // byte[] formitembytes = System.Text.Encoding.UTF8.GetBytes(formitem);
  42. // rs.Write(formitembytes, 0, formitembytes.Length);
  43. // }
  44. // rs.Write(boundarybytes, 0, boundarybytes.Length);
  45. // foreach (var file in file_list)
  46. // {
  47. // //string headerTemplate = "Content-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"\r\nContent-Type: {2};\r\naccess_token:\"{3}\"\r\n\r\n";
  48. // string headerTemplate = "Content-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"\r\nContent-Type: {2};\r\n\r\n";
  49. // string header = string.Format(headerTemplate, paramName, file, contentType);
  50. // byte[] headerbytes = System.Text.Encoding.UTF8.GetBytes(header);
  51. // rs.Write(headerbytes, 0, headerbytes.Length);
  52. // FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read);
  53. // byte[] buffer = new byte[4096];
  54. // int bytesRead = 0;
  55. // while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)
  56. // {
  57. // rs.Write(buffer, 0, bytesRead);
  58. // }
  59. // fileStream.Close();
  60. // byte[] trailer = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "--\r\n");
  61. // rs.Write(trailer, 0, trailer.Length);
  62. // }
  63. // rs.Close();
  64. // WebResponse wresp = null;
  65. // try
  66. // {
  67. // wresp = wr.GetResponse();
  68. // Stream stream2 = wresp.GetResponseStream();
  69. // StreamReader reader2 = new StreamReader(stream2);
  70. // result = reader2.ReadToEnd();
  71. // }
  72. // catch (Exception ee)
  73. // {
  74. // string msg = ee.Message + Environment.NewLine + Environment.NewLine;
  75. // msg += "URL:" + url + Environment.NewLine + "Method:POST" + Environment.NewLine +
  76. // "Content:" + "" + Environment.NewLine;
  77. // System.Net.WebException webEE = ee as System.Net.WebException;
  78. // if (webEE != null && webEE.Response != null)
  79. // {
  80. // using (System.IO.Stream st = webEE.Response.GetResponseStream())
  81. // {
  82. // using (System.IO.StreamReader sr = new System.IO.StreamReader(st, Encoding.UTF8))
  83. // {
  84. // string webmsg = sr.ReadToEnd();
  85. // msg += Environment.NewLine + Environment.NewLine + webmsg;
  86. // }
  87. // }
  88. // }
  89. // throw new Exception(msg);
  90. // }
  91. // finally
  92. // {
  93. // wr = null;
  94. // }
  95. // return result;
  96. // }
  97. // }
  98. //}