[英]How to convert byte[] to Binary to set jcr:data with file contents?
我正在嘗試將二進制數據(圖像)保存到 JCR 節點中。 我正在使用以下方法從印象筆記中獲取圖像: 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);
但是,我收到一個錯誤
沒有找到適合 setProperty(java.lang.String,byte[]) 的方法
使用二進制文件內容設置jcr:data
屬性的方法是什么?
您可以使用ValueFactory將 InputStream 轉換為Binary值。 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);
要了解有關寫入存儲庫的更多信息,請參閱此規范。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.