通过程序将文件导入Alfresco(通过java支持的webscript)



将文档(PDF)导入java支持的webscript中的Alfresco存储库时遇到问题。我正在使用ContentService的作者。如果我使用

ContentWriter writer = ContentService.getWriter(nodeRef, ContentModel.PROP_CONTENT, true);
writer.setEncoding("UTF-8");
writer.setMimetype("application/pdf");
writer.putContent(new String(byte []) );

writer.putContent(new String(byte [], "UTF-8") );

我的文档是不可预览的(我看到空白的PDF文件,尝试了一些小PDF文件,不知道在其他/更大的文件的情况下会发生什么)。但是,如果我使用另一个以File为参数的putContent方法,我将成功导入文档。

writer.setEncoding("UTF-8");
writer.setMimetype("application/pdf");
writer.putContent(File);

我不想从磁盘导入文件,因为我得到的文件是Base64编码的字符串,但我不知道我缺少什么。

您可以使用InputStream作为ContentWriter::putContent的参数。因此,您将阻止字符串到字节数组的转换(反之亦然),这会导致编码困难。

writer.putContent(new ByteArrayInputStream(Base64.decodeBase64("yourBase64EncodedString")))

最新更新