2016-10-19 8 views
2

Я создал пользовательское веб-приложение с использованием сервлетов Java и подключился к репозиторию Alfresco с помощью CMIS.Как получить уменьшенное изображение любых документов во всём мире с помощью CMIS

Теперь мое требование состоит в том, чтобы построить библиотечный навигатор; для этого мне нужно отобразить уменьшенное изображение документа перед именем документа, используя тег <IMG/>.

Как достичь этого с помощью CMIS или любого другого alfresco rest api.

+0

Вы пытались получить список объектов репозитория?!? –

ответ

2

Кажется, что вы ищете держатель документа.

Вместо того, чтобы отдавать CMIS, лучше обратиться за API REST Alfresco. Ниже REST API, чтобы получить держатель документа место, в том, что вам нужно передать документ Узел refrence И ALF билет Динамически

"http://localhost:8080/alfresco/s/api/node/workspace/"+noderef+"/content/thumbnails/doclib?c=queue&ph=true&lastModified=doclib:1475322106180&alf_ticket="+alf_ticket 

Я надеюсь, что это поможет вам.

+0

Мой общий ресурс alfresco не получает миниатюры в представлении библиотеки. Есть ли какая-либо конфигурация в файле свойств. –

+0

Это утверждение неверно: «На самом деле его невозможно получить с помощью CMIS. CMIS понимает выдачи, а миниатюра библиотеки документов - это версия с именем «doclib», доступная через CMIS. –

3

CMIS понимает концепцию выдачи. Миниатюры и веб-превью в Alfresco отображаются как выдачи CMIS. Этот номер содержит blog post. В нем вы увидите пример кода, и я включил его ниже:

OperationContext context = session.createOperationContext(); 
context.setRenditionFilterString("cmis:thumbnail"); 
CmisObject doc = session.getObjectByPath("/Sites/ren/documentLibrary/Spring Surf and OpenCMIS Integration", context); 
List<Rendition> renditions = doc.getRenditions(); 
for (Rendition rendition : renditions) 
{ 
    System.out.println("kind: " + rendition.getKind()); 
    System.out.println("mimetype: " + rendition.getMimeType()); 
    System.out.println("width: " + rendition.getWidth()); 
    System.out.println("height: " + rendition.getHeight()); 
    System.out.println("stream id: " + rendition.getStreamId()); 
} 

Обратите внимание, что то, что может вам подножку, что выдачи не создается автоматически, когда объекты добавляются в хранилище. Обычно они создаются асинхронно, когда кто-то запрашивает просмотр библиотеки документов через клиент Alfresco Share.

Если вам нужно создать документ, а затем сразу же получить его данные, не вступая в систему с клиентом Alfresco Share, вам нужно будет использовать правила или действия, чтобы инициировать создание необходимых вам представлений.

+0

HI Jeff, я пробовал код, но, как вы сказали, у кого-то есть просьбы увидеть просмотр библиотеки документов через клиента Alfresco Share. И я также попытался установить правило, но мое правило не работает, если я создал объект документа. Использование Cmis no Js script выполняется. –

+0

Правила должны всегда срабатывать независимо от того, как добавлен документ. Какую конкретную версию вы используете? –

Смежные вопросы