HttpRequest.Content.IsMimeMultipartContent() 在 return 应该 return 为真时为假

HttpRequest.Content.IsMimeMultipartContent() is returning false when it should return true

我需要将 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:\<filepath>\test.txt"));
                fileContent1.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
                {
                    FileName = "testData.txt"
                };

                //Add Second file content
                var fileContent2 = new ByteArrayContent(File.ReadAllBytes(@"C:\<filepath>\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?注意请求

的“using MultiPartFormDataContent

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