Google app engine Can';无法从BlobStore读取文件
我一直试图直接从BlobStore中写入和读取文件,但它就是不起作用。 问题是我打开了类似Google app engine Can';无法从BlobStore读取文件,google-app-engine,jakarta-ee,blobstore,Google App Engine,Jakarta Ee,Blobstore,我一直试图直接从BlobStore中写入和读取文件,但它就是不起作用。 问题是我打开了类似file=fileService.getBlobFile(blobKey)的文件
file=fileService.getBlobFile(blobKey)的文件它不会抛出任何异常,但在下一行我调用readChannel=fileService.openReadChannel(file,false)代码>并引发FileNotFoundException
我不明白为什么第一行没有抛出异常
不幸的是,没有人回答这个问题 我在写入或删除方面没有任何问题,但在使用openReadChannel(…)
和AppEngineFile
时,我也会遇到FileNotFoundException
我尝试过使用一个AppEngineFile
,该文件是从它的构造函数中创建的,它采用了一个完整的路径。我试着使用从getBlobFile(…)
获取的AppEngineFile
,就像上面所做的那样。无论哪种方式,当AppEngineFile
被传递到openReadChannel(…)
时,都会抛出FileNotFoundException
我的解决方法是让BlobstoreService.service(…)
完成读取和发送文件的所有工作。我怀疑使用FileService
读取AppEngineFile
还不受支持(我使用的是1.6.0),因此读取必须通过BlobstoreService
(service(…)
,获取数据(…)
,BlobstoreInputStream
)来完成。我认为这是Blob存储的使用方式。我们曾经存储需要处理的大型数据文件,所以我确实需要处理该文件。如果你只需要提供文件,这可能是正确的方法。为了这个项目,我们最终完全放弃了谷歌应用程序,但如果能知道上面的代码为什么不起作用,那就太好了。无论如何,谢谢你。