1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- /*-------------------------------------------------------------------------
- * 功能描述:HttpUtils
- * 作者:xulisong
- * 创建时间: 2019/7/29 10:16:56
- * 版本号:v1.0
- * -------------------------------------------------------------------------*/
- using System;
- using System.Diagnostics;
- using System.IO;
- using System.Net.Http;
- namespace MBIRevitBase.Tools
- {
- /// <summary>
- /// HttpUtils信息处理
- /// </summary>
- public class HttpUtils
- {
- private static HttpClient m_Client;
- /// <summary>
- /// 创建HttpClient,单例对象生成
- /// </summary>
- /// <returns></returns>
- public static HttpClient CreateClient()
- {
- if (m_Client == null)
- {
- m_Client = new HttpClient();
- }
- return m_Client;
- }
- public const string WebKitFormBoundary = "----WebKitFormBoundary";
- public static BResult PostFormDataFile(string url,Stream stream)
- {
- using (HttpClient client = CreateClient())
- {
- string boundary = string.Format("{0}{1}", WebKitFormBoundary, DateTime.Now.Ticks.ToString("x"));
- MultipartFormDataContent content = new MultipartFormDataContent(boundary);
- #region Stream请求
- var streamContent = new StreamContent(stream);
- content.Add(streamContent, "file");
- #endregion
- var result = client.PostAsync(url, content).Result;
- try
- {
- if (result.IsSuccessStatusCode)
- {
- string rslt = result.Content.ReadAsStringAsync().Result;
- return new BResult(true,rslt);
- }
- else
- {
- return result.ToString();
- }
- }
- finally
- {
- client.Dispose();
- }
- }
- return string.Empty;
- }
- }
- }
|