我有一个应用程序,允许用户在blobstore中保存blob。我现在有一个这样做的模式,但我感兴趣的是更简单和不太扭曲的东西。关于上下文,想象一下我的应用程序允许用户上传一张动物的图片,上面有一段描述动物正在做什么的文字。
当前架构
>
用户调用我的endpointapi将动物的段落
和名称
保存在实体animal
中。注意:animal
实体实际上有4个字段(name
、parage
、blobkey
和blobservingurl
作为字符串)。但endpointapi只允许保存提到的两个。
在endpoint方法中,在app-engine端,保存name
和parage
后,我进行以下调用以生成一个服务url的blob,我的endpoint方法将其返回给调用方
@apimethod(name=“saveAnimalData”,httpMethod=httpMethod.Post)公共字符串saveAnimalData(AnimalData请求)引发异常{...BlobstoreService BlobstoreService=BlobStoreserviceFactory.GetBlobStoreservice();String url=BlobstoreService.CreateUploadURL(“/Upload”);return url;}
在android端,我使用一个普通的http调用将图像的byte[]发送到BlobStore。我使用apachedefaulthttpclient()
。注意:保存图像后,blobstore使用blob键和服务url调用我的app-engine服务器
我从blobstore(blobstore调用了我的回调url)读取响应,使用的是普通java servlet,即公共void doPost(HttpServletRequest req,HttpServletResponse res)抛出ServletException,IOException
。从servlet中,我将BlobKey
和BlobServingURL
放入关联动物的Animal
实体中。(我向blobstore传递了一些元数据,我使用这些元数据作为标识相关动物实体的标记)。
所需的架构
这就是你的回应。重要的是,我想取消java servlet,并将我的整个api限制在google cloud Endpoint上。所以我的问题是:我将如何使用我的endpoint来执行步骤3和步骤4?
我在这里看到了两个问题:
>
谷歌云endpoint可以处理多部分文件吗?->我不知道这个TBH
有没有比使用blobstoreservice
存储blob更简单的过程?
GWT RPC和云endpoint接口有一些相似之处,对我们来说这是不可能的。我们必须创建一个普通HTTP Servlet,并使用一个流式多部分文件解析器,因为Apache的HTTP Commons使用了该文件系统。
我有创建csv文件的asp页面。问题是这个csv文件是作为UTF-8创建的,没有BOM,当我打开它时,一些标志不正确可见。我应该更改什么才能将其保存为UTF-8 with BOM?如果我在记事本中手动将其转换为UTF-8 With BOM,它就可以工作。 谢谢
在我的java项目中,我将图形与这个库“图形流”一起使用。 我需要将我的图形保存在一个类型文件“Graphviz Dot”中,即:节点、边、节点属性、边属性。我通常用这种方式把我的图形保存在文件中: 问题:当我打开或加载文件时,我看不到边缘属性。有人知道“图形流”并且知道我可以保存这个文件吗? 感谢您的帮助。
问题内容: 我为python 2.7使用了selenium网络驱动程序: 启动浏览器:。 转到一些网址:。 此时,如何向浏览器发送“另存为”命令? 注意:这不是我感兴趣的网页源。我想使用实际的“将页面另存为” Firefox命令来保存页面,该命令所产生的结果与保存网页源不同。 问题答案: 不幸的是,您无法使用Selenium做您想做的事。您可以使用page_source来获取html,但这就是您将
问题内容: 我正在尝试开发简单的Python(3.2)代码以读取XML文件,进行一些 更正 并将其存储回去。但是,在存储步骤中,ElementTree添加此命名空间命名法。例如: 该代码段如下: 我尝试使用,但没有任何积极结果。此版本的ElementTree 1.3是否有任何特定更改? 问题答案: 为了避免使用前缀,应 在 读取XML数据 之前 设置默认名称空间。
问题内容: 我正在尝试对代码进行编程,以便如果用户按下“夜间按钮”,则背景将变为黑色,并且如果用户关闭应用程序,则背景将保持黑色。(白天模式也是如此。) 请注意:我已经对按钮进行了编码,当他们按下按钮时,所有场景都会切换到该模式。 这是我的代码,需要保存背景色:(两个if语句都需要它) 我的日夜颜色: 问题答案: Swift 4.2或更高版本 请注意,这只会将RGBA CGFloat值另存为属性列
我使用sharedpreferences保存了一些变量,但是我的save方法使应用程序崩溃,出现了空指针异常。 getSharedPreferences()本身不能工作,需要有上下文。在它之前,这可能是一个问题。我已经定义了上下文,导入了SharedPreferences,那么为什么这不起作用呢?