如何从blobstore中检索字节数组?

时间:2012-09-23 22:42:08

标签: java google-app-engine blobstore

我阅读了文档,谷歌搜索,但仍然无法想象如何读取blob作为字节数组。

我可以生成PDF文件并将它们存储在blobstore中。我也可以使用serve()为这些blob提供服务,没问题。这一切都很好。

现在我想检索其中一个blob,并将其作为字节数组读取,以将其传递给Mail API,以便作为Mime附件发送。正如我所理解的,Mail API仅接受字节数组作为附件数据。

我看到了BufferedInputStream的read()方法,但它建议获取n个字节。我需要立刻阅读完整的blob。在阅读它之前我不知道它的长度。

1 个答案:

答案 0 :(得分:5)

像这样:

byte[] myFile = blobstoreService.fetchData(blobKey, index, index + batchSize);

基本上,你从index = 0开始,然后循环遍历此blob,直到得到一个比批量大小更短的数组。