如果我使用 GWT 文件小部件和表单面板,有人可以解释如何在谷歌应用程序引擎上处理 blobstore 上的上传吗?
问问题
1301 次
2 回答
2
于 2011-06-29T05:53:53.673 回答
1
Google blobstore 专门设计用于通过 http 上传和提供 blob。Blobstore 服务(使用 获得BlobstoreServiceFactory.getBlobstoreService()
)生成 http post 操作以供您在 html 表单中使用。通过向其发布文件,您可以将您的 blob 上传到 blobstore。当您生成此操作时,您提供了一个处理程序(servlet)的路径,您可以在其中访问上传的 blob 密钥:
Map<String, BlobKey> blobs = blobstoreService.getUploadedBlobs(req);
BlobKey blobKey = blobs.get("data");
请注意,“数据”是表单中的文件字段。您所拥有的只是 blob(您的文件)的密钥。从这里您可以控制 - 您可以保存此密钥以供以后使用和/或立即在页面上提供 blob(使用密钥):
BlobKey blobKey = new BlobKey(req.getParameter("blob-key"));
blobstoreService.serve(blobKey, res);
当然,有关详细信息,请参阅 Google文档。
blobstore 的一个不错的功能是它与 Google Mapper(基本的 map-reduce)服务(正在进行中)集成,它可以让您逐行处理作为 blob 上传的文件:http: //ikaisays.com/2010/08/
于 2011-06-29T13:34:48.770 回答