2015-09-25 20 views
8

HTTPリクエストをRESTコントローラにMultiPartFormDataとして送信する必要があります。それは動作していましたが、私のコントローラでチェックしているのは、要求が正しいタイプであることをデバッガで見ることができるときでも、要求が正しいタイプではないということです。参考のために:HttpRequest.Content.IsMimeMultipartContent()がtrueを返すときにfalseを返す

enter image description here

は、ここでそれを呼び出しているコンソールアプリケーションのコードです:

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として解釈されるということ可能ですか?あなたはnamefilename引数をとるcontent.Addオーバーロードを使用しようとすることができMultiPartFormDataContentの要求

答えて

5

ための「MultiPartFormDataContentを使用して」に注意してください。 MSDN MultipartFormDataContent.Add Method (HttpContent, String, String)

挨拶

+0

これは働いていました!ありがとうございました! – Matt

+0

聞いてよかった! :) –

+0

申し訳ありません...私は理解できません。私のコントローラでIsMimeMultipartContent()に何を変更しなければならないのかを教えてくれますか?私はWebクライアントからファイルを送信しています.ASPではなく、WebAPIコントローラで受信しています。 –

関連する問題