簡體   English   中英

如何將 byte[] 轉換為 Binary 以使用文件內容設置 jcr:data?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM