GWT GAE通过Blob上传

时间:2011-06-29 02:44:00

标签: gwt file-upload google-cloud-datastore blobstore

如果我正在使用GWT文件窗口小部件和表单面板,有人可以解释如何在谷歌应用程序引擎上的blobstore上处理上传吗?

2 个答案:

答案 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/