Ich muss eine HTTP-Anforderung als MultiPartFormData an einen REST-Controller senden. Es funktionierte, aber jetzt die Überprüfung, die ich auf meinem Controller habe behauptet, dass die Anfrage nicht vom richtigen Typ ist, auch wenn ich im Debugger sehen kann, dass die Anfrage auf den richtigen Typ ist. Als Referenz:HttpRequest.Content.IsMimeMultipartContent() gibt false zurück, wenn es true zurückgeben soll
Hier ist die Konsole app-Code, der es ruft:
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();
}
}
}
}
Wie ist es möglich, dass es als nicht MultiPartFormData interpretiert wird? Beachten Sie die „mit MultiPartFormDataContent“ für die Anfrage
Das funktionierte! Vielen Dank! – Matt
Schön zu hören! :) –
Sorry ... Ich kann es nicht verstehen. Kannst du mir sagen, was ich an meinem Controller ändern muss, um IsMimeMultiPartContent() true zurück zu geben? Ich sende die Datei von einem Web-Client, nicht asp, und empfange auf meinem Webapi-Controller. –