using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using XdCxRhDw.Dto;
using XdCxRhDW.Repostory.EFContext;
namespace XdCxRhDW.Core
{
public class HttpHelper
{
/////
/////
/////
/////
/////
/////
//public static string PostRequest(string url, HttpContent data)
//{
// var handler = new HttpClientHandler() { UseCookies = false };
// HttpClient client = new HttpClient(handler);
// client.Timeout = TimeSpan.FromSeconds(10);
// var message = new HttpRequestMessage(HttpMethod.Post, url);
// message.Content = data;
// var response = client.SendAsync(message).Result;
// response.EnsureSuccessStatusCode();
// var result = response.Content.ReadAsStringAsync().Result;
// return result;
//}
///
///
///
///
///
///
///
public static T PostRequest(string url, HttpContent data)
{
var handler = new HttpClientHandler() { UseCookies = false };
HttpClient client = new HttpClient(handler);
client.Timeout = TimeSpan.FromSeconds(20);
var message = new HttpRequestMessage(HttpMethod.Post, url);
message.Content = data;
var response = client.SendAsync(message).Result;
response.EnsureSuccessStatusCode();
var result = response.Content.ReadAsStringAsync().Result;
var AjaxResult = JsonConvert.DeserializeObject>(result);
if (AjaxResult.code == 200)
{
return AjaxResult.data;
}
else
{
throw new Exception(AjaxResult.msg);
}
}
public static string UploadFile(string localFile, string uploadUrl)
{
try
{
// 添加文件内容到 MultipartFormDataContent
byte[] fileBytes = File.ReadAllBytes(localFile);
MultipartFormDataContent content = new MultipartFormDataContent();
ByteArrayContent fileContent = new ByteArrayContent(fileBytes);
content.Add(fileContent, "file", Path.GetFileName(localFile));
var filedto = HttpHelper.PostRequest(uploadUrl, content);
return filedto.FileName;
}
catch
{
throw new Exception($"上传文件{Path.GetFileName(localFile)}到{uploadUrl}失败!");
}
}
}
}