当HttpRequest.Content.IsMimeMultipartContent()返回true时返回false

我需要将一个HTTP请求作为MultiPartFormData发送到REST控制器。 它工作正常,但现在我的控制器上的检查声称请求的类型不正确,即使我在调试器中看到请求的类型正确。 以供参考:

在此处输入图像描述

这是调用它的控制台应用程序代码:

using System; using System.IO; using System.Net.Http; using System.Net.Http.Headers; using System.Text; namespace QuickUploadTestHarness { class Program { static void Main(string[] args) { using (var client = new HttpClient()) using (var content = new MultipartFormDataContent()) { // Make sure to change API address client.BaseAddress = new Uri("http://localhost"); // Add first file content var fileContent1 = new ByteArrayContent(File.ReadAllBytes(@"C:\\test.txt")); fileContent1.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "testData.txt" }; //Add Second file content var fileContent2 = new ByteArrayContent(File.ReadAllBytes(@"C:\\test.txt")); fileContent2.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "Sample.txt" }; content.Add(fileContent1); content.Add(fileContent2); // Make a call to Web API var result = client.PostAsync("/secret/endpoint/relevant/bits/here/", content).Result; Console.WriteLine(result.StatusCode); Console.ReadLine(); } } } } 

它怎么可能被解释为不是MultiPartFormData? 请注意请求的“ 使用MultiPartFormDataContent

对于MultiPartFormDataContent您可以尝试使用带有namefilename参数的content.Add重载。 MSDN MultipartFormDataContent.Add方法(HttpContent,String,String)

问候