Redmine REST API を使用する C# アプリを開発しています。RestSharp クライアントを使用します。私が行う他のすべての REST 呼び出しは正常に機能しますが、添付ファイルをアップロードする方法が見つかりません。Web を広く検索し、多くの解決策を試しましたが、何も機能しませんでした。添付ファイルに関する Redmine のドキュメント: http://www.redmine.org/projects/redmine/wiki/Rest_api#Attaching-files 実際のコードは次のようになります。
RestClient client = new RestClient("http://myclient/redmine/");
client.Authenticator = new HttpBasicAuthenticator("myuser", "mypsw");
var request2 = new RestRequest("uploads.json", Method.POST);
request2.AddHeader("Content-Type", "application/octet-stream");
request2.RequestFormat = RestSharp.DataFormat.Json;
byte[] dataToSend = File.ReadAllBytes(AddIssue.attach.Text);
request2.AddBody(dataToSend);
IRestResponse response2 = client.Execute(request2);
resultbox.Text = response2.Content;
上記を実行しても何も起こらず、応答は空です。7 行目 (AddBody) を削除すると、実際には機能しますが、もちろん何もアップロードされません。JSON 応答: { "upload": { "token": "11." } }
したがって、実際の問題は、ファイルを application/octet-stream として送信するために AddBody() で何をパントするかです。RestSharp にも request.AddFile() メソッドがあるため、さまざまな方法で試してみましたが、何もありません...
どんな助けでも大歓迎です!