Java 如何从blobstore中检索字节数组?
我阅读了文档,在谷歌上搜索了一下,但仍然不知道如何将blob读取为字节数组 我能够生成PDF文件并将其存储在blobstore中。我还可以使用serve()提供这些blob供下载,没有问题。这一切都很好 现在我想检索这些blob中的一个,并将其作为字节数组读取,以将其传递给邮件API,以作为Mime附件发送。据我所知,邮件API只接受字节数组作为附件数据 我看到了BufferedInputStream的read()方法,但它建议获取n个字节。我需要马上读完整的内容。在阅读之前我不知道它的长度。像这样:Java 如何从blobstore中检索字节数组?,java,google-app-engine,blobstore,Java,Google App Engine,Blobstore,我阅读了文档,在谷歌上搜索了一下,但仍然不知道如何将blob读取为字节数组 我能够生成PDF文件并将其存储在blobstore中。我还可以使用serve()提供这些blob供下载,没有问题。这一切都很好 现在我想检索这些blob中的一个,并将其作为字节数组读取,以将其传递给邮件API,以作为Mime附件发送。据我所知,邮件API只接受字节数组作为附件数据 我看到了BufferedInputStream的read()方法,但它建议获取n个字节。我需要马上读完整的内容。在阅读之前我不知道它的长度。像
byte[] myFile = blobstoreService.fetchData(blobKey, index, index + batchSize);
基本上,从index=0开始,循环遍历这个blob,直到得到一个比批大小短的数组。如下所示:
byte[] myFile = blobstoreService.fetchData(blobKey, index, index + batchSize);
基本上,从index=0开始,循环遍历这个blob,直到得到一个比批大小更短的数组。太简单了。。谢谢。fetchData(key,0,BlobstoreService.MAX\u BLOB\u FETCH\u SIZE-1);在一次调用中获取整个blob。太简单了。。谢谢。fetchData(key,0,BlobstoreService.MAX\u BLOB\u FETCH\u SIZE-1);在一次呼叫中获取整个blob。