我试图将二进制数据(图像)保存到JCR节点.我正在使用这种方法从evernote获取图片注意:public byte [] getBody()然后尝试使用setProperty(string,Binary)设置属性jcr:data和文件内容
这就是我这样做的方式:
Node n;
byte [] fileContent = resrouce.getData().getBody();
....
n.setProperty("jcr:mimeType", "image/png");
n.setProperty("jcr:data", fileContent);
Run Code Online (Sandbox Code Playgroud)
但是,我收到一个错误
没有为setProperty找到合适的方法(java.lang.String,byte [])
jcr:data使用二进制文件内容设置属性的方法是什么?
您可以使用ValueFactory将InputStream转换为二进制值.ValueFactory可以从Session对象获得.
ValueFactory factory = session.getValueFactory();
InputStream is = new ByteArrayInputStream(fileContent);
Binary binary = factory.createBinary(is);
Value value = factory.createValue(binary);
n.setProperty("jcr:data", value);
Run Code Online (Sandbox Code Playgroud)
要了解有关写入存储库的更多信息,请参阅此规范.
| 归档时间: |
|
| 查看次数: |
1803 次 |
| 最近记录: |