Перейти к содержанию

Скачивание файлов через API

Файлы, загруженные в Comindware Tracker, можно скачивать как в интерфейсе, так и извне, через открытый API системы. Для этого:

1. Сгенерируйте API-токен в области администрирования.

2. Составьте C# скрипт. Ниже приведён фрагмент кода на C#, который скачает файл с ID 33854 (rev — аналог ID при работе с вложениями):

HttpClient cl = new HttpClient();
cl.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "your_token_b21c46016cpb42ca9f1374a481746281"); // API-токен

var GetTask = cl.GetAsync("https://your_domain.comindware.net/Api/Attachment/Content/rev.33854"); // получаем файл
GetTask.Wait();
var GetTask_NAME = cl.GetAsync("https://your_domain.comindware.net/Api/Attachment/?query.revisionId=rev.33854"); // получаем мета-данные о файле
GetTask_NAME.Wait();
string name_file = GetTask_NAME.Result.Content.ReadAsStringAsync().Result;
name_file = name_file.Substring(name_file.IndexOf("name") + 8, name_file.IndexOf("GetAttachment.ashx?id=rev.") - name_file.IndexOf("name") - 27); // извлекаем из мета-данных имя файла

using (var fs = new FileStream(@"c:\report\Tracker\" + name_file, FileMode.CreateNew)) // сохраним файл по указанному пути
{
var ResponseTask = GetTask.Result.Content.CopyToAsync(fs);
ResponseTask.Wait();
}