【发布时间】:2013-04-03 19:04:19
【问题描述】:
我正在尝试从 PrimeFaces UploadFile 获取 KeyStore,但这只会返回 byte[]。如何将其转换回KeyStore?
【问题讨论】:
标签: java file-upload jsf-2 primefaces keystore
我正在尝试从 PrimeFaces UploadFile 获取 KeyStore,但这只会返回 byte[]。如何将其转换回KeyStore?
【问题讨论】:
标签: java file-upload jsf-2 primefaces keystore
仔细查看KeyStore javadoc。除了采用 OutputStream 的 store() 方法(您在 your previous question 中学到的)之外,还有采用 InputStream 的 load() 方法。
PrimeFaces UploadedFile 具有根据 getContents() 方法旁边的 javadoc 返回一个 byte[] 以及一个 getInputStream() 方法返回一个 InputStream。
所以,总而言之,应该这样做:
try (InputStream inputStream = uploadedFile.getInputStream()) {
keyStore.load(inputStream, password);
}
经验教训:学习如何查找和解释 javadocs 并进行数学运算 :)
顺便说一句,如果您真的无法获得InputStream,而只能获得byte[],那么您总是可以将其包裹在ByteArrayInputStream 中。
【讨论】: