我正在开发一个使用 Redmine REST API 的 C# 应用程序,它使用 RestSharp 客户端。我所做的所有其他 REST 调用都可以正常工作,但我找不到上传附件的方法。我在网上广泛搜索并尝试了许多解决方案,但没有任何效果。关于附件的 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.” } }
所以实际上,真正的问题是在 AddBody() 中添加什么以将文件作为 application/octet-stream 发送。由于 RestSharp 也有一个 request.AddFile() 方法,我也以不同的方式尝试过,但没有...
非常感谢任何帮助!