Сначала вы должны добавить токен доступа для этого , тогда вы пытаетесь перевести его в текстовое сообщение на 1.get file info. Get [Route ("files/{name} /")] 2.post файл. Post [Route ("files/{name} /")] вслушать, что вам нужно реализовать ответ для файлов блокировки. Запрос Cobalt var response = new HttpResponseMessage (HttpStatusCode.OK); , если (xWopiOverride == "LOCK" || String.equals (xWopiOverride, "UNLOCK")) { // для DOCX, XLSX и PPTX ответ = новый HttpResponseMessage (HttpStatusCode.OK); } еще если (String.equals (xWopiOverride, "кобальтовых")) { // кобальт, для DOCX и PPTX
EditSession editSession = EditSessionManager.Instance.GetSession(access_token);
if (editSession == null)
{
editSession = new FileSession(access_token, fileInfo, matterInfo, dpsUserName, databaseInfo, string.Empty, string.Empty, string.Empty, false);
EditSessionManager.Instance.AddSession(editSession);
}
var memoryStream = new MemoryStream();
HttpContext.Current.Request.InputStream.CopyTo(memoryStream);
var atomFromByteArray = new AtomFromByteArray(memoryStream.ToArray());
ProtocolVersion protocolVersion;
object context;
var requestBatch = new RequestBatch();
requestBatch.DeserializeInputFromProtocol(atomFromByteArray, out context, out protocolVersion);
editSession.ExecuteRequestBatch(requestBatch);
foreach (var request in requestBatch.Requests)
{
if (request.GetType() == typeof(PutChangesRequest) && request.PartitionId == FilePartitionId.Content)
{
editSession.Save();
break;
}
}
var responseContent = requestBatch.SerializeOutputToProtocol(protocolVersion, context);
var correlationId = Request.Headers.GetValues("X-WOPI-CorrelationID").First();
response.Headers.Add("X-WOPI-CorrelationID", correlationId);
response.Headers.Add("request-id", correlationId);
var pushStreamContent = new PushStreamContent((outputStream, httpContext, transportContent) =>
{
responseContent.CopyTo(outputStream);
outputStream.Close();
});
response.Content = pushStreamContent;
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
response.Content.Headers.ContentLength = responseContent.Length;
}
return response;
пар это https://github.com/petrsvihlik/WopiHost –