1

我正在尝试KeyStore从 PrimeFaces获取 a UploadFile,但这仅返回 a byte[]。如何将其转换回KeyStore?

4

1 回答 1

6

仔细查看KeyStorejavadoc。在您在上一个问题中学到的采用 的store()方法旁边,还有一种采用 的方法。OutputStreamload()InputStream

PrimeFaces根据返回 a 的方法UploadedFile旁边的 javadoc也有返回 a 的方法。getContents()byte[]getInputStream()InputStream

所以,总而言之,这应该做:

try (InputStream inputStream = uploadedFile.getInputStream()) {
    keyStore.load(inputStream, password);
}

经验教训:学习如何查找和解释 javadocs 并进行数学计算 :)

顺便说一句,如果你真的没有办法得到 a InputStreamat ,而只能得到 a byte[],那么你总是可以把它包裹在 an 中ByteArrayInputStream

于 2013-04-11T14:58:01.993 回答