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
,您可以尝试使用带有 name
和 filename
参数的 content.Add
重载。
MSDN MultipartFormDataContent.Add Method (HttpContent, String, String)
我需要将 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
,您可以尝试使用带有 name
和 filename
参数的 content.Add
重载。
MSDN MultipartFormDataContent.Add Method (HttpContent, String, String)