8
HTTPリクエストをRESTコントローラにMultiPartFormDataとして送信する必要があります。それは動作していましたが、私のコントローラでチェックしているのは、要求が正しいタイプであることをデバッガで見ることができるときでも、要求が正しいタイプではないということです。参考のために:HttpRequest.Content.IsMimeMultipartContent()がtrueを返すときにfalseを返す
は、ここでそれを呼び出しているコンソールアプリケーションのコードです:
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として解釈されるということ可能ですか?あなたはname
とfilename
引数をとるcontent.Add
オーバーロードを使用しようとすることができMultiPartFormDataContent
の要求
これは働いていました!ありがとうございました! – Matt
聞いてよかった! :) –
申し訳ありません...私は理解できません。私のコントローラでIsMimeMultipartContent()に何を変更しなければならないのかを教えてくれますか?私はWebクライアントからファイルを送信しています.ASPではなく、WebAPIコントローラで受信しています。 –