Как правильно читать inputStream в свойство узла в JCR 2? - PullRequest
4 голосов
/ 03 апреля 2010

В JCR 1 вы можете сделать:

final InputStream in = zip.getInputStream(zip.getEntry(zipEntryName));
node.setProperty(JcrConstants.JCR_CONTENT, in);

Но это не рекомендуется в JCR 2, как описано в http://www.day.com/maven/jsr170/javadocs/jcr-2.0/javax/jcr/Node.html#setProperty%28java.lang.String,%20java.io.InputStream%29

Это говорит о том, что я должен использовать node.setProperty(String, Binary), но я не вижу способа превратить мой inputStream в двоичный файл. Может кто-нибудь указать мне документы или пример кода для этого?

Ответы [ 2 ]

7 голосов
/ 03 апреля 2010
ValueFactory.createBinary(InputStream stream)

Вы получаете ValueFactory через сеанс, возвращаемый Repository.login ()

2 голосов
/ 17 ноября 2013

Просто подсказка после ответа Роба, если вам интересно, откуда взять ValueFactory, вы можете использовать:

node.getSession().getValueFactory().createBinary(inputStream)
...