/*-------------------------------------------------------------------------
* 功能描述: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
{
///
/// HttpUtils信息处理
///
public class HttpUtils
{
private static HttpClient m_Client;
///
/// 创建HttpClient,单例对象生成
///
///
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);
//"file.zip"必须有,它的格式可能影响到内部的一些配置
content.Add(streamContent, "file","file.zip");
#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;
}
}
}