如何从PrimeFaces上传文件的byte []获取KeyStore

Mar*_*ana 1 java file-upload keystore primefaces jsf-2

我试图KeyStore从PrimeFaces 获得一个UploadFile,但这只会返回一个byte[].我怎样才能将它转换回来KeyStore

Bal*_*usC 5

仔细看看KeyStorejavadoc.在您之前的问题中学习的store()方法旁边,还有一个方法.OutputStreamload()InputStream

所述PrimeFaces UploadedFile已按的Javadoc旁边的getContents()方法返回byte[]也是一个getInputStream()返回一个方法InputStream.

所有这一切,这应该做:

try (InputStream inputStream = uploadedFile.getInputStream()) {
    keyStore.load(inputStream, password);
}
Run Code Online (Sandbox Code Playgroud)

获得的经验:学习如何查找和解释javadoc并进行数学运算:)

顺便说一句,如果你真的没有办法得到一个InputStream,但只有一个byte[],那么你总是可以把它包裹起来ByteArrayInputStream.