gpt4 book ai didi

java - 从文件系统读取二进制文件作为 BLOB 以在 rhino 中使用 javascript

转载 作者:行者123 更新时间:2023-11-30 08:14:42 25 4
gpt4 key购买 nike

我计划将 SheetJS 与 rhino 一起使用。 sheetjs 接受一个二进制对象(BLOB,如果我是正确的)作为输入。所以我需要使用搁浅的java I/O 方法从系统读取文件并将其存储到一个blob 中,然后再将其传递给sheetjs。例如:-

var XLDataWorkBook = XLSX.read(blobInput, {type : "binary"});

那么我如何从java中的二进制文件创建BLOB(或适当的类型)以便将其传递进去。

我想我无法传递流,因为我想 XLSX 需要一个完全创建的对象来处理。

最佳答案

我自己找到了这个问题的答案。我能够通过这种方式完成它。
使用InputStream读取文件,然后将其写入ByteArrayOutputStream。像下面这样。

ByteArrayOutputStream buffer = new ByteArrayOutputStream(); 

...

buffer.write(bytes, 0, len); 

然后从中创建一个字节数组。

byte[] byteArray =   buffer.toByteArray();

最后,我使用 apache.commons.codec.binary< 中的“Base64.encodeBase64String()”方法将其转换为 Base64 字符串(这也适用于我的情况)/strong> 包。所以我可以将 Base64 String 作为方法参数传递。

如果您进一步需要,还有许多库(第三方库和默认库)可用于 Base64 到 Blob 转换。

关于java - 从文件系统读取二进制文件作为 BLOB 以在 rhino 中使用 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29824582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com