Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从blobstore中检索字节数组?_Java_Google App Engine_Blobstore - Fatal编程技术网

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

Java 如何从blobstore中检索字节数组?,java,google-app-engine,blobstore,Java,Google App Engine,Blobstore,我阅读了文档,在谷歌上搜索了一下,但仍然不知道如何将blob读取为字节数组 我能够生成PDF文件并将其存储在blobstore中。我还可以使用serve()提供这些blob供下载,没有问题。这一切都很好 现在我想检索这些blob中的一个,并将其作为字节数组读取,以将其传递给邮件API,以作为Mime附件发送。据我所知,邮件API只接受字节数组作为附件数据 我看到了BufferedInputStream的read()方法,但它建议获取n个字节。我需要马上读完整的内容。在阅读之前我不知道它的长度。像

我阅读了文档,在谷歌上搜索了一下,但仍然不知道如何将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。