gpt4 book ai didi

java - 将 servlet 架构转换为应用引擎端点架构

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:26:02 26 4
gpt4 key购买 nike

以下转换是否适用于从 Java servlet 到 google app-engine 云端点的转换?

来自

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

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

背景:

我正在尝试使用端点来处理 blobstore 回调。

引用:https://developers.google.com/appengine/docs/java/blobstore/overview#Complete_Sample_App

问题:

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

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

编辑:

我一直在尝试很多方法来解决这个问题。我最新的是combining blob servlet with endpoint api .我仍然无法使代码正常工作。因此,任何提供解决方案或实际导致解决方案的信息的人都会得到赏金。

最佳答案

您目前不能使用端点作为对 blobstore blobstoreService.createUploadUrl 的回调。看这个related answer .有一个支持 mediaUpload 的开放功能请求,这可能会提供与您想要的类似的功能。随时为它加注星标以表示支持并获得自动更新。

我建议的是两种可能的备选方案之一,具体取决于您尝试上传的数据量。

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

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

关于java - 将 servlet 架构转换为应用引擎端点架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16257895/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com