云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

游戏服务器_阿里云硬盘扩容_12月免费

小七 141 0

我在FaceRecognition应用程序中使用了文档存储库服务:https://blogs.sap.com/2019/05/28/face-recognition-app/

在这个应用的开发过程中,我从来都不知道上传图片成功与否。没有可视化工具来验证这一点。因此,我创建了"文档存储库查看器"。这是一个非常小的UI5应用程序,人工智能有哪些领域,用于查看文档存储库中的内容:https://blogs.sap.com/2019/07/29/document-repository-viewer/

此应用程序中的代码很简单,但很难实现。关于如何在UI5应用程序中实现这一点的文档并不多。我唯一发现的是:https://help.sap.com/viewer/b0cc1109d03c4dc299c215871eed8c42/Cloud/en-US/ee63e43b719e4e94ad3fdbe84cc73f.html

显示文档列表和上传功能的基本html页面。但是如何删除图像呢?如果您想通过一个定制的httpajax请求而不是一个生成的表单请求上传一个文档呢?

因此,我将分享并解释我在"文档库查看器"后面使用的代码。

我将从头开始,从启用文档库服务到解释UI5代码。为了博文的完整性,每个人都可以尝试:

激活文档库服务安装代理网桥目的地UI5代码

激活您的SCP帐户中的文档服务:

转到服务并搜索文档服务。默认为启用,否则需要自己启用

激活后(通常默认为激活),可以直接从"文档库"打开:

创建库:

并填写所有详细信息。记下存储库密钥,稍后您将需要它:

安装代理桥

按照SAP帮助中的说明构建代理桥:

https://help.sap.com/viewer/b0cc1109d03c4dc299c215871eed8c42/Cloud/en-US/ed1c6732d4214c68846ab9813b9df943.html

使用Eclipse工具或直接在SCP驾驶舱中在您的SCP帐户上部署此代理网桥:

创建访问SCP和SAP Web IDE中UI5应用程序中的代理网桥的目的地。

设置

从SAP Web IDE中的UI5模板开始。我开始的基本模板,但任何其他也将工作:

添加配置到目标的"近地天体"-应用程序.json":

如果您对目标使用不同的名称,那么您需要更改属性"name"。

对于我对代理网桥的所有http请求,我使用的是"XMLHttpRequest",我将其包装为promises。这是非常通用的,在UI5对象"HTTPService"中完成。我不打算详细解释,但你可以看看这里的代码:https://github.com/lemaiwo/DocumentRepositoryViewer/blob/master/webapp/service/HTTPService.js

对象RepoService正在使用这个通用的HTTPService,这是存储库服务的简称。Repository服务中包含与存储库文档服务相关的所有请求:https://github.com/lemaiwo/DocumentRepositoryViewer/blob/master/webapp/service/RepoService.js

获取存储库id

在我们可以从存储库读取数据或执行其他操作之前,我们需要存储库id。对存储库执行任何操作都需要此id,因为它是根url的一部分。

要知道这一点,物联网关键技术,打开代理桥并添加以下

/cmisproxysap/cmis/json

如下:

https://cmisproxysaps0007914286trial.hanatril.ondemand.com/cmisproxysap/cmis/json

这将为您提供存储库的所有详细信息:

这在应用程序中应该是动态的,因此不应为每个新存储库更改它。因此,我在RepoService中增加了以下两个功能:

"getRepoInfo"将获取存储库的所有信息。"getRepoId"将使用"getRepoInfo",但只返回存储库id并将其存储在RepoService中。这将避免应用程序需要为每个操作再次获取此id。存储库id通常不会更改。

读取所有文档

从存储库文档服务读取所有文件是最简单的方法。这只是对存储库根目录的httpget请求。您只需要知道存储库的根url…

根url与存储库信息位于同一部分,存储库id后跟根:

/cmisproxysap/cmis/json//root/

在RepositoryService中,大数据怎么样,有一个函数getFiles,内部优惠券,它首先获取存储库id,并使用这个id获取根级别上的所有文件。这将给出所有文件的列表。

上载文档

上载功能基于文档中的示例html片段。现在,它被转换为在HTTP Ajax请求中以formdata形式传递所有属性,而不是通过表单提交操作。

上载的文件对象与其他一些属性一起包装到formdata对象中:

Cmisaction:定义要执行的操作,我们要创建一个新文档->"createDocument"Objecttypeid:它需要创建的类型,可以是文档或文件夹名称:文件名。

然后可以将此formdata发布到与读取所有文档相同的路径。同样,这需要存储库id,并将使用getRepoId函数。(此函数将缓存repositoryid,不会发送两次请求,而是使用缓存的id)

删除文档

此函数可能是最简单的,但最难找到!删除文档需要使用cmisaction delete命令获得该文档的完整路径。找到"删除"这个动作花了我很多时间。在cmis文档中,我发现了"deleteDocument"操作。删除只是个幸运的猜测?

同样,这需要存储库id。

控制器

现在,这个服务可以在控制器中使用了。在控制器顶部定义RepoService并开始使用它。