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

Gaë*_*son 1 java google-app-engine blobstore

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

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

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

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

And*_*gin 5

像这样:

byte[] myFile = blobstoreService.fetchData(blobKey, index, index + batchSize);
Run Code Online (Sandbox Code Playgroud)

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

  • 这么简单..非常感谢.fetchData(key,0,BlobstoreService.MAX_BLOB_FETCH_SIZE-1); 在一次通话中得到整个blob. (3认同)