如何使用 REST api 向 Content Server 10.5 添加新文档?
我正在按照Swagger 文档创建节点,但不清楚如何将文件附加到请求中。这是(大致)我正在使用的代码:
var folderId = 2000;
var docName = "test";
var uri = $"http://[serverName]/otcs/llisapi.dll/api/v1/nodes?type=144&parent_id={folderId}&name={docName}";
var request = new HttpRequestMessage();
request.Headers.Add("Connection", new[] { "Keep-Alive" });
request.Headers.Add("Cache-Control", "no-cache, no-store, must-revalidate");
request.Headers.Add("Pragma", "no-cache");
request.Headers.Add("OTCSTicket", /* ticket here */);
request.RequestUri = new Uri(uri);
request.Method = HttpMethod.Post;
request.Content = new ByteArrayContent(data);
request.Content.Headers.ContentType = new MediaTypeHeaderValue(MimeMapping.GetMimeMapping(filePath));
request.Headers.ExpectContinue = false;
var httpClientHandler = new HttpClientHandler
{
Proxy = WebRequest.GetSystemWebProxy(),
UseProxy = true,
AllowAutoRedirect = true
};
using (var client = new HttpClient(httpClientHandler))
{
var response = client.SendAsync(request).Result;
IEnumerable<string> temp;
var vals = response.Headers.TryGetValues("OTCSTicket", out temp) ? temp : new List<string>();
if (vals.Any())
{
this.ticket = vals.First();
}
return response.Content.ReadAsStringAsync().Result;
}
我一直在developer.opentext.com
论坛中搜索,但在 c# 中找到一个完整的示例证明很困难 - 在 javascript 中有一些示例,但尝试在 c# 中或通过 chrome 或 firefox 扩展复制这些示例只会得到相同的结果。到目前为止,调用其他 CS REST 方法还不是问题,这是第一个给我带来问题的方法。
编辑:我将错误的网址粘贴到我的问题中,现在我已经修复了。它是var uri = $"http://[serverName]/otcs/llisapi.dll/api/v1/forms/nodes/create?type=0&parent_id={folderId}&name={docName}";
。