一 、第一种使用文件流 StreamContent
public async Task<string> PostFileStream(string apiUrl, Stream stream, string fileName)
{
var content = new MultipartFormDataContent
{
{ new StreamContent(stream,(int)stream.Length), "file", fileName }
};
System.Net.Http.HttpClient _client = new System.Net.Http.HttpClient();
var response = await _client.PostAsync(apiUrl, content);
response.EnsureSuccessStatusCode();
var responseContent = response.Content.ReadAsStringAsync().Result;
return responseContent;
}
二、第二种使用byte数组 ByteArrayContent
public async Task<string> PostFileByteArray(string apiUrl, byte[] bytes, string fileName)
{
var content = new MultipartFormDataContent
{
{ new ByteArrayContent(bytes), "file", fileName }
};
System.Net.Http.HttpClient _client = new System.Net.Http.HttpClient();
var response = await _client.PostAsync(apiUrl, content);
response.EnsureSuccessStatusCode();
var responseContent = response.Content.ReadAsStringAsync().Result;
return responseContent;
}
若第一种API无法接受到文件可以尝试第二种方式