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