2016-06-21 6 views
-1

ちょっと、C#コードでこれを複製できますか?私はファイルをすでにバイト[]またはストリーム形式として持っています。アップロードファイル - マルチフォーマットデータ

$ curl https://someaddress.com/ 
-F parameter1='abc123' \ 
-F [email protected] \ 
-F parameter2='abc123' 

[UPDATE]

私はRestSharpを試してみましたが、私は実際にそれもリクエストを送信していないようですステータスコード0との応答を得ました。 {「基になる接続が閉じられた:予期しないエラーが送信で発生しました。」}

var client = new RestClient("https://someaddress.com"); 

RestRequest request = new RestRequest("/",Method.POST); 
request.AddHeader("Content-Type", "multipart/form-data"); 
request.AddHeader("Accept", "application/json"); 

request.AddParameter("parameter1", "abc123"); 
request.AddParameter("parameter2", "abc123"); 

request.AddFile("fileData", fileStream.CopyTo, filename); 
//request.AddFile("fileData", fileByteArray, filename); 

var response= client.Execute(request); 

[UPDATE 2]

これは私が応答ErrorExceptionフィールドの内部を見ることができるスタックトレースです。

InnerException = {"Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host."} 
at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) 
at System.Net.HttpWebRequest.GetRequestStream() 
at RestSharp.Http.WriteRequestBody(HttpWebRequest webRequest) 
at RestSharp.Http.PostPutInternal(String method) 
+0

スタートあなたは、私がRestSharpを試してみましたが、動作するように見えるdoes notの –

+0

すでに試みているものを掲示することもできます。私はコード – Adam

答えて

0

私は、HttpWebRequestのクラスや他のプロジェクトが、何を使って試してみました。私はまた、プロジェクトをダウンロードしてビルドしようとしましたが、それは仕事をしませんでした。しばらくすると、問題がセキュリティプロトコルであることが分かりました。だから私はこの行を追加し、それは働いた。

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

0

はい、あなたはHttpWebRequest Class(OR)を使用するか、あなたは同じ

+0

で投稿を更新しますRestSharpを試しましたが、うまくいきません。私はコード – Adam

+0

で投稿を更新します。私はHttpWebRequestクラスを使用しようとしましたが、request.GetReqeustStream()でスタックしました。それは決してrequestStream.Writeメソッドを実行しません。 ストリームrequestStream = request.GetRequestStream();requestStream.Write(formData、0、formData.Length); requestStream.Close(); return request.GetResponse()as HttpWebResponse; ここでコードを使用しています。http://www.briangrinstead.com/blog/multipart-form-post-in-c – Adam