6

将以下转换从Java servlet转换为Google应用程序引擎云端点会有效吗?将servlet模式转换为应用程序引擎端点模式

FROM

public void doPost(HttpServletRequest req, HttpServletResponse res) 
throws ServletException, IOException { … } 

TO

@ApiMethod(name = "save_blob_key", path = "save_blob_key" httpMethod = HttpMethod.POST) 
public void saveBlobKey(HttpServletRequest req) throws IOException { … } 

背景:

我试图使用端点处理Blob存储回调。

编号:https://developers.google.com/appengine/docs/java/blobstore/overview#Complete_Sample_App

问题:

大hickup这里要说的是以下两行,似乎需要类HttpServletRequest,我不知道我是否可以将它传递给端点。

BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService(); 
Map<String, List<BlobKey>> blobs = blobstoreService.getUploads(req); 

编辑:

我一直在尝试了不少的路线来解决这个问题。我的最新消息是combining blob servlet with endpoint api。尽管如此,我仍然无法让代码工作。所以赏金可以给任何提供解决方案的人或者实际上导致解决方案的信息。

+0

它已经很多年了,你能找到解决方案吗? – Micro 2016-04-07 15:36:05

回答

3

您目前不能使用端点作为对Blobstore blobstoreService.createUploadUrl的回调。请参阅related answer。有一个支持mediaUpload的开放功能请求,可能会提供类似的功能。随意为它显示支持并获得自动更新。

根据您尝试上传的数据量,我推荐的是两种可能的替代方法之一。

如果您正在上传少量blob数据,该数据适合数据存储区,请在Endpoints实体类中使用ShortBlob(最多500字节)或Blob(最多1 MB)类型。端点将处理后端的序列化,并且会通过客户端库期待(并发回)base64编码的字符串。这是一个非常简单,直接的方法。

如果您想要提供大于1 MB的Blob,现在请使用Google Cloud Storage JSON API。此API使用与Endpoints相同的客户端库,因此您不必担心将另一个库与应用程序捆绑在一起。 This page有一个使用Java客户端库将blob插入Google Cloud Storage的示例。

+0

终端支持mediaUpload的问题现在已近2.5年之久。什么都没有发生。这是AppEngine问题的典型特征。我想知道Google何时会在春季或秋季清洁中摆脱AppEngine? – rakensi 2015-09-03 11:24:50

相关问题