在 JCR 2 中将 inputStream 读入节点属性的正确方法是什么?
在 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 转换为二进制。谁能向我指出这方面的文档或示例代码?
In JCR 1 you could do:
final InputStream in = zip.getInputStream(zip.getEntry(zipEntryName));
node.setProperty(JcrConstants.JCR_CONTENT, in);
But that's deprecated in JCR 2 as detailed at http://www.day.com/maven/jsr170/javadocs/jcr-2.0/javax/jcr/Node.html#setProperty%28java.lang.String,%20java.io.InputStream%29
That says I should be using node.setProperty(String, Binary)
but I don't see any way to turn my inputStream into a Binary. Can anyone point me to docs or example code for this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以通过 Repository.login() 返回的 Session 获取 ValueFactory
You get the ValueFactory through the Session returned by Repository.login()
Rob 回答后的一个提示,如果您想知道从哪里获取 ValueFactory,您可以使用:
Just a tip after Rob's answer, if you wondered where to get
ValueFactory
from, you can use: