我有一个在 .NET 4.5 中实现的项目,由于某种原因,我无法更改它。我想将照片发布到使用 .NET Core 实现的 Web API。 API端点使用HTTP POST,其输入类型是通用ICollection,其类型是IFormFile。但是,我无法发送一张图片,因为我只能向 API 发送字节类型。我怎么解决这个问题?这是我的代码:
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri(ServiceInfo.VIPCParams["DMSUri"].Value);
client.DefaultRequestHeaders.Accept.Clear();
// client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", responseModelLogin.Token);
// string json = JsonConvert.SerializeObject(parameters);
// HttpContent content = new ByteArrayContent(uploadRequest.File);
HttpContent content = new ByteArrayContent(uploadRequest.File);
//HttpContent content = new StreamContent(stream);
//content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
//using (var stream = new MemoryStream(uploadRequest.File))
//{
// await documentRepository.UploadFile(stream);
//}
// content.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data");
var multipartContent = new MultipartFormDataContent();
multipartContent.Add(content);
// multipartContent.Add(new StreamContent(content));
HttpResponseMessage res = client.PostAsync(url, multipartContent).Result;
string data = res.Content.ReadAsStringAsync().Result;
mSUploadResponse = JsonConvert.DeserializeObject<DMSUploadResponse>(data);
}