2016-06-13 11 views
1

SSISにC#スクリプトがあり、APIを使ってサードパーティにデータを送信しています(私がこれまで扱ってきたAPIの中では最悪です)。POSTリクエストのHTTPフィールドに別の値を追加するにはどうすればよいですか?

とにかく、データの受信方法に非常に敏感です。 APIには、次の作業で、CSVコンテンツを受信する:

Content-Type: text/plain; charset=utf-8 
Content-Disposition: form-data; name="values"; filename="name.txt" 

"test1073R","2016-02-23T00:00","0.00","0.00" 

しかし、これはしていません:

Content-Type: text/plain; charset=utf-8 
Content-Disposition: form-data; name="values" 

"test1073R","2016-02-23T00:00","0.00","0.00" 

差がfilename="name.txt"を送信する必要があるということで。

このデータは変数から直接送信されます。文字列には最初に書き込まれません。以下はHTTP要求を作成する私のコードですが、私はどのように要求にfilename="name.txt"を追加するのか分かりません。何か案は?

using (var client = new HttpClient()) 
{ 
    using (var multipartFormDataContent = new MultipartFormDataContent()) 
    { 
     var values = new[] 
     { 
      new KeyValuePair<string, string>("customerid", Variables.BeonicCustomerId), 
      new KeyValuePair<string, string>("username", Variables.BeonicUsername), 
      new KeyValuePair<string, string>("password", Variables.BeonicPassword), 
      new KeyValuePair<string, string>("values", dataSb.ToString()) 
     }; 

     foreach (var keyValuePair in values) 
     { 
      multipartFormDataContent.Add(new StringContent(keyValuePair.Value), 
       String.Format("\"{0}\"", keyValuePair.Key)); 
     } 

答えて

2

は、私はあなたが次のように全体のコンテンツ配置を追加することができると思う:

私はあなたが書いたものから理解して何から
multipartFormDataContent.Headers.Add("Content-Disposition", "form-data; name=\"values\"; filename=\"name.txt\""); 

は、Content-処分の一環として、ファイル名を必要とするので、ヘッダーのプロパティで追加できます。

+0

Ta。トリックをやりましたか? – Lock

関連する問題